如何将对象推入列表字段

时间:2017-06-28 19:22:45

标签: mongodb aggregation-framework

如果我有两个文件,如:

{'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管道将它们分开组合?

1 个答案:

答案 0 :(得分:2)

您可以在集合中运行聚合管道。 $group nulldb.col_name.aggregate([ {"$group":{"_id":null, "books": { "$push": {"book":"$book" }}, "owners": { "$push": {"owner":"$owner" }} }}, ]);

src/