我们如何在MongoDb中复制以下sql查询?
update Person set Alias = Name;
其中Person
表的列为Alias, Name
我希望查询影响多行。如果更新查询不能支持upsert并不重要,我只需要更新&不插入。
答案 0 :(得分:2)
不幸的是,MongoDB中没有该功能。您需要循环遍历文档,一次更新一次,并执行读取 - 更新对。
如果您希望这是并发安全的,那么您需要实现某种锁定;无论是乐观的还是悲观的。
答案 1 :(得分:0)
myDb.myCollection.find({}).forEach(
function (person) {
person.Alias = person.Name
myDb.myCollection.save(person)
}
)