【发布时间】:2019-11-09 19:33:11
【问题描述】:
在使用聚合时,如何从 mongo 集合中过滤掉没有子字段的文档?
集合如下所示:
{
"_id": ObjectId("adasdasd"),
"obj": { "a": 1 }
},
{
"_id": ObjectId("ergergerg"),
"obj": { "b": 2 }
},
{
"_id": ObjectId("adasdasd"),
"obj": { "a": 3, "b": 4 }
},
如何使用 aggregate() 函数仅选择“obj”字段包含“b”子字段的文档?结果应如下所示:
{
"_id": ObjectId("ergergerg"),
"obj": { "b": 2 }
},
{
"_id": ObjectId("adasdasd"),
"obj": { "a": 3, "b": 4 }
},
我意识到我可以使用 find() 和 $exists,但我正在寻找使用聚合() 的解决方案。任何帮助是极大的赞赏。
【问题讨论】:
-
那么,你尝试了什么?
标签: mongodb aggregation-framework exists