在MongoDB项目中如何循环一个字段的值?
问题: 我想要的是在Mongo期间循环一个字段的值 例如: 这是我的一个小样本数据在MongoDB项目中如何循环一个字段的值?,mongodb,pymongo,projection,Mongodb,Pymongo,Projection,问题: 我想要的是在Mongo期间循环一个字段的值 例如: 这是我的一个小样本数据 { "_id": ObjectId(1), "field1": { "key1":"value1", "key2":"value2" } }, { "_id": ObjectId(1), "field1": { "key1&q
{
"_id": ObjectId(1),
"field1": {
"key1":"value1",
"key2":"value2"
}
},
{
"_id": ObjectId(1),
"field1": {
"key1":"value1",
"key2":"value2",
"key3":"value3"
}
}
}
我的问题是这样的:
MyDocument._get_collection().aggregate([
# some match statement
"$project": {
'customized_data': {
'$ifNull': ['$field1.key1', "default_value"]
}
}
])
所以我的查询只适用于一个键。(字段1中的键1)。
因此,我如何循环使用“field1”
值(“key1:“value1”,“key2:“value2”,“key3:“value3”)
,以更改特定条件的输出
注意:
我使用的是迄今为止最新版本的
MongoDB4.2
您可以使用聚合运算符-这将返回一个数组。然后,您可以使用一个聚合数组运算符(如$map)在数组上循环。@prasad_uu您知道是什么使您的建议不可行,我想分别比较每个值。例如value1大于1和value2大于2等等
顺便说一句,感谢您的评论您可以使用聚合运算符-这将返回一个数组。然后,您可以使用一个聚合数组运算符(如$map)在数组上循环。@prasad_uu您知道是什么使您的建议不可行,我想分别比较每个值。例如value1大于1和value2大于2等等
,顺便感谢您的评论