Mongo聚合,访问数组的一部分
Mongo aggregation, accessing a portion of an array
我有一个 mongo 这样的文档
{
'_id': .bson.
'key': [ 'word1', 'word2', { 'key1': 'value1', 'key2': 'value2' } ]
},
如何使用 mongo 聚合框架使文档看起来像这样:
{
'_id': .bson.
'key2': 'value2'
},
提前致谢!
-丹尼尔
db.collection.aggregate([ {$unwind: "$key"},
{$group : {
"_id" : "$_id",
"key2": {$max: "$key.key2"}
}
}])
如果您确定 key.key2 始终存在于键数组的 last 元素中,请将 $max 替换为 $last。
我有一个 mongo 这样的文档
{
'_id': .bson.
'key': [ 'word1', 'word2', { 'key1': 'value1', 'key2': 'value2' } ]
},
如何使用 mongo 聚合框架使文档看起来像这样:
{
'_id': .bson.
'key2': 'value2'
},
提前致谢!
-丹尼尔
db.collection.aggregate([ {$unwind: "$key"},
{$group : {
"_id" : "$_id",
"key2": {$max: "$key.key2"}
}
}])
如果您确定 key.key2 始终存在于键数组的 last 元素中,请将 $max 替换为 $last。