如何在mongoDB聚合中设置密钥?

时间:2017-07-22 08:17:00

标签: mongodb aggregation-framework

这个想法是从这样的文件集合中来的:

{ 
    "_id" : ObjectId("58ff4fa372ac97344d5672c2"), 
    "direction" : 1,
    "post" : ObjectId("58ff4ea572ac97344d5672c1"), 
    "user" : ObjectId("586b84239ae9590ab66bd3ad")
}
{ 
    "_id" : ObjectId("58ff4c9f2952d7341d4afc0c"), 
    "direction" : -1, 
    "post" : ObjectId("58fc15a3fb3bed0fd54bfd95"), 
    "user" : ObjectId("586b84239ae9590ab66bd3ad")
}

对此:

[
    //post: direction
    "58ff4ea572ac97344d5672c1": 1,
    "58fc15a3fb3bed0fd54bfd95": -1
]

我似乎无法在MongoDB聚合文档中找到任何允许您使用其他字段的值设置密钥名称的内容。

我希望这段代码可以正常工作,但我可以理解为什么它没有。它认为“$ post”是指MongoDB表达式。

db.votes.aggregate([
    {$group: {
        _id: null,
        entries: {
            $addToSet: {
                "$post": "$direction"
            }
        }
    }}
])

0 个答案:

没有答案