Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 如何将多个文档合并到一个文档中并移动到另一个集合?_Mongodb - Fatal编程技术网

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 );