Mongodb 如何将多个文档合并到一个文档中并移动到另一个集合?
我有以下情况:Mongodb 如何将多个文档合并到一个文档中并移动到另一个集合?,mongodb,Mongodb,我有以下情况: 一次收集50份文件 要将文档移动到1中吗 该数据应为: week:[day,day,day..] 这是一份一次性的工作。我想在命令行或Robomongo中执行此操作。由于我们无法看到您的确切文档结构,因此我将尝试给出一个简单的解决方案,无论您的文档具有何种结构,该解决方案都应该有效 基本上,您希望迭代源集合中的每个文档,并生成一个包含所有值的数组 week_array = [] db.source_col.find({}).forEach( function( doc ){
- 一次收集50份文件
- 要将文档移动到1中吗
week:[day,day,day..]
这是一份一次性的工作。我想在命令行或Robomongo中执行此操作。由于我们无法看到您的确切文档结构,因此我将尝试给出一个简单的解决方案,无论您的文档具有何种结构,该解决方案都应该有效 基本上,您希望迭代源集合中的每个文档,并生成一个包含所有值的数组
week_array = []
db.source_col.find({}).forEach( function( doc ){
week_array.push( doc );
} );
现在有了一个数组,其中包含源集合中的所有文档。现在需要做的就是构造一个新文档,并将数组插入到正确的属性中:
var week_doc = { "week": week_array };
现在只需将其插入目标集合:
db.target_col.insert( week_doc );
请举例说明文件的格式,以及预期结果的显示方式。您的示例有点过于抽象,无法理解数据的格式。数据的格式是否真的重要?它是复杂的、嵌套很深的东西,有数组什么的。我只是想让所有这些都成为一个家长医生的孩子。这会有帮助的。。但我已经发布了一个可能对您有帮助的答案。您是否考虑过使用聚合框架或map reduce?两者都非常适合这样做。
db.target_col.insert( week_doc );