我正在使用 Nodejs 和 MongoDB,我是 nodejs 的新手。我需要知道如何从一个集合中获取数据并附加一些额外的数据并插入到另一个集合中。
db.collection('collection1').find({ "Id" : 12345 }).toArray(function(err, result){
db.collection('collection2', function(err, collection){
collection.insert({
//some data
})
})
})
当我尝试此代码时,它不起作用,它给我错误插入未定义。
谢谢,约翰。
db.collection('collection1').find({ "Id" : 12345 }).toArray(function(err, result){
//do the modification here
db.collection('collection2').insert(modifiedResult, function(err, result){
if(err) {
//log error
}else{
//log result
}
})
})
还有一件事,如果结果数组长度大于一并且您想单独插入然后使用 promise
db.collection('collection1').find({ "Id" : 12345 }).toArray(function(err, result){
//do the modification here
Promise.all(modifiedResult.map((eachModifiedResult)=>{
return db.collection('collection2').insert(eachModifiedResult);
}).then((result)=>{
//result of the insert
}).catch((err){
//err if any happen
});
})
但是,如果您有一个非常大的文档,那么请按照 Neil Said 进行操作。使用游标一一读取集合并修改它们并将它们插入到其他数据库中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句