我們如何在MongoDb中複製以下sql查詢?將一個屬性的值更新爲同一文檔中另一個屬性的值
update Person set Alias = Name;
其中Person
表有列Alias, Name
我希望查詢影響到多行。不要緊,如果更新查詢不支持upserts,我只需要更新&不能插入。
我們如何在MongoDb中複製以下sql查詢?將一個屬性的值更新爲同一文檔中另一個屬性的值
update Person set Alias = Name;
其中Person
表有列Alias, Name
我希望查詢影響到多行。不要緊,如果更新查詢不支持upserts,我只需要更新&不能插入。
不幸的是,該功能在MongoDB中不可用。您需要遍歷文檔,逐個更新它們,並執行讀取更新對。
如果你希望這是併發安全的,你需要實現某種鎖定;樂觀或悲觀。
myDb.myCollection.find({}).forEach(
function (person) {
person.Alias = person.Name
myDb.myCollection.save(person)
}
)
不完全。這實際上會爲'n'個人文檔選擇查詢和'n'更新查詢。我正在尋找1更新查詢的東西。 –
也這麼想。儘管如此,我仍然會將這個問題保持開放,以防萬一有人能夠提供一些我沒有看到的洞察力。謝謝! –