如果我有两个文件,如:
{'book': {'title': 'first'}, 'owner': {'name': 'Jim'}},
{'book': {'title': 'second'}, 'owner': {'name': 'Bob'}}
我希望将“书籍”内容分组到一个单独的列表中,然后是所有者,所以它看起来像:
{
'books': [{'book': {'title': 'second'}, {'book': {'title': 'first'}}],
'owners': [{'owner': {'name': 'Jim'}}, {'owner': {'name': 'Bob'}}]
}
我如何组织mongo管道将它们分开组合?
答案 0 :(得分:2)
您可以在集合中运行聚合管道。 $group
null
。db.col_name.aggregate([
{"$group":{"_id":null,
"books": { "$push": {"book":"$book" }},
"owners": { "$push": {"owner":"$owner" }}
}},
]);
。
src/