2017-07-17 46 views
0

我一直在为自己收集记录一段时间,所以我有一个集合完全是我自己的记录。现在我正在尝试添加多用户功能,并希望将该集合中的所有数据传输到另一个集合中我自己的用户对象中的数组。MongoDB - 尝试将整个集合的内容转移到另一个集合中的一个“用户对象”

这就是我所在的地方。

myRecordsCollection.find({}).forEach(function(err, doc) { 
    usersCollection.update(
     { 
      "name": "Me" 
     }, 
     {$push: 
      { 
       'records' : doc 
      } 
     } 
    ); 
}); 

但这不起作用。 :(

回答

0

$推一次只推一个项目,但你正在试图推动数组,你需要使用$每$推。

myRecordsCollection.find({}).forEach(function(err, doc) { 
    usersCollection.update(
     { 
      "name": "Me" 
     }, 
     {$push: 
      { 
       'records' : { $each: doc } 
      } 
     } 
    ); 
}); 
+0

它似乎工作,右,直到〜结束(函数(){抛出错误;})D = 'c:\ Users \ Jon \ Desktop \ node_modules \ mongodb \ lib \ utils.js:98 process.nextTick ;' –

+0

可能是你的文档的大小这就是为什么这个错误即将到来......另一个选项来迭代文档,你可以使用async.each –

相关问题