仅字段和值的 Mongo 投影

时间:2021-01-22 14:21:45

标签: mongodb mongodb-query aggregation-framework

我有大型文档,我只想用字段和值来投影它们。

事情是这样的;

{"p":{"s":{"status":"b"},"m":{"pd":{"tt":{"bi":"2","psi":"4","ircsi":true}},"mi":"TT","et":"2020-09-07T14:34:00+03:00"}}}
{"p":{"s":{"status":"b"},"m":{"pd":{"tt":{"bi":"20","psi":"1","ircsi":true}},"mi":"TT","et":"2020-12-29T08:28:06+03:00"}}}
.........

有没有办法让它看起来像这样;

{"status":"b","bi":"2","psi":"4","ircsi":true,"mi":"TT","et":"2020-09-07T14:34:00+03:00"}}}
{"status":"b","bi":"20","psi":"1","ircsi":true,"mi":"TT","et":"2020-09-07T14:34:00+03:00"}}}
.........

我的查询是这样的;

db.s.aggregate([{
    "$match": { 
        "p.m.etm": {
            "$gt": 1585688401000,
            "$lt": 1610565947499
        },
        "p.m.mi":"TT"
    }
},
{
    "$project": {
        "p.m.pd.tt.bi": 1,
        "p.m.pd.tt.psi": 1,
        "p.m.pd.tt.ircsi": 1,
        "p.m.mi":1,
        "p.s.status":1,
        "p.m.et":1,
        "_id": 0
    }
}],
{
    "allowDiskUse": true
});

我应该改变什么才能达到我的需要?

1 个答案:

答案 0 :(得分:1)

您可以使用 Invalid operation: column "monthlyrange" does not exist in monthlyamountperuser 创建新字段。 (为了方便,我只是删除了 $project

$match

工作Mongo playground

相关问题