如何在MongoDB中迭代一个集合来获取字段值



有人能告诉我,请告诉我是否有可能通过一组迭代来创建mongodb结果中的关键字段值。如果我在管道中有$facet状态:

'missing': [{'$group': {'_id': '$foo', 'woo': {'$addToSet': '$wwo'}}},
{'$project': {'missing_woo': {'$setDifference': [woo_set, '$woo']}}

我想得到的结果代码值将是键,如

{'missing_woo': 'missing_woo1'}, {'missing_woo': 'missing_woo2'},... {'missing_woo': 'missing_wooN'}

以便我可以遍历在$project中生成的集合并创建字段值

您可以简单地使用$unwind:

db.collection.aggregate([
{
$facet: {
missing: [
{$group: {_id: "$foo", woo: {$addToSet: "$wwo"}}},
{$project: {_id: 0, missing_woo: 
{$setDifference: [
[
"woo1",
"woo2",
"wooN",
"missing_woo1",
"missing_woo2",
"missing_wooN"
],
"$woo"
]
}
}
},
{$unwind: "$missing_woo"}
]
}
}
])

看看它在操场的例子中是如何工作的

相关内容