【发布时间】:2015-10-27 13:58:50
【问题描述】:
我有一个关于在我的 MongoDB 查找查询中使用投影的问题。我的问题如下,我的文件如下:
{
"_id" : ObjectId("55e59045cded246cb8e8183e"),
"name" : "Acrobatics",
"category" : {
"title" : "Combat",
"key" : "combat"
},
"calculationType" : "Skill",
"statistics" : "INI",
"title" : "Acrobatics"
}
我的聚合查询如下所示:
db.getCollection('skills').aggregate([
{ $match: { "category.title": "Combat" } },
{ $project: { "_id": 0, "name": 1, "category": "$category.title" } }
]);
结果如你所料:
{
"result" : [
{
"name" : "Acrobatics",
"category" : "Combat"
}
],
"ok" : 1.0000000000000000
}
现在我想使用 find 方法而不是聚合进行相同的投影,我的查询如下所示:
db.getCollection('skills').find(
{ "category.key": "combat" },
{ "_id": 0, "name": 1, "category": "$category.title" }
);
结果如下:
[{
"name" : "Acrobatics",
"category" : {
"title" : "Combat",
"key" : "combat"
}
}]
你可以看到子文档category的结果没有折叠。我期望与聚合函数相同的 form ;减去结果和 OK 属性。
我做错了吗?还是我的期望是错误的?感谢您阅读本文。
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework