0

我们如何在 MongoDb 中复制以下 sql 查询?

update Person set Alias = Name;

表的PersonAlias, Name

我希望查询影响多行。如果更新查询不支持 upserts 也没关系,我只需要更新而不是插入。

4

2 回答 2

2

不幸的是,该功能在 MongoDB 中不可用。您将需要遍历文档,一次更新它们,并执行读取-更新对。

如果您希望这是并发安全的,则需要实现某种锁定;要么乐观,要么悲观。

于 2012-11-27T00:37:02.163 回答
0
myDb.myCollection.find({}).forEach(
function (person) { 
      person.Alias = person.Name
      myDb.myCollection.save(person)
}
)
于 2012-11-26T21:05:22.507 回答