MongoDB:如何将多个集合中的数据合并为一个?

311

我(在MongoDB中)如何将多个集合的数据合并到一个集合中?

我可以使用map-reduce吗?如果可以,那么如何使用?

作为新手,我非常需要一些示例。


20
你是否只是想将不同集合中的文档复制到一个单独的集合中,或者你有其他计划?你能具体解释一下“合并”的意思吗?如果你只想通过mongo shell复制,那么使用db.collection1.find().forEach(function(doc){db.collection2.save(doc)});即可。如果你不使用mongo shell,请指明你使用的驱动程序(如java、php等)。 - proximus
1
我有一个集合(比如说用户),其中包含其他集合,比如地址簿集合、书籍列表集合等等。我该如何根据用户ID键将这些集合合并成一个单一的集合? - user697697
3
相关链接:https://dev59.com/GXE95IYBdhLWcg3wWMhQ - AlikElzin-kilaka
11个回答

-3

你需要在应用程序层面上完成这项任务。如果你正在使用ORM,它可以使用注释(或类似的东西)来提取其他集合中存在的引用。我只用过Morphia,而@Reference注释在查询时获取了被引用的实体,所以我可以避免在代码中自己执行这个操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接