【发布时间】:2022-12-20 20:25:10
【问题描述】:
需要在另一个集合的帮助下更新一个集合中的字段值
列 1:
{ field1: 1 },
{ field1: 2 },
{ field1: 1 }
列 2:
{
field1: 1,
field2: 234
},
{
field1: 2,
field2: 545
},
{
field1: 1,
field2: 234
}
这里如果coll1 field1 = col2 field1那么需要更新col1 field1: 234
Col1 输出:
{ field1: 234 },
{ field1: 545 },
{ field1: 234 }
我写了一个查询,但它只更新第一个文档。协助解决这个问题。
db.col1.find().forEach( function(doc1) {
if(doc1.field1){
var doc2 = dB.col2.findOne({"field1": doc1.field1});
if(doc2) {
doc1.field1 = doc2.field2;
dB.col1.save(doc1);
}
}
});
谢谢。
【问题讨论】:
标签: mongodb mongodb-query