1
所以我知道這個問題已經被問了很多次了,但我已經查了超過30分鐘,並且我真的找不到我在做什麼錯誤。在NodeJS中更新多個MongoDB文檔似乎不起作用
我想更新我的蒙戈數據
這裏的兩個文件
{
"_id" : ObjectId("561e34c68b7639481c38ce62"),
"id" : "1657999143",
"timeTakenAt" : 1444820166833.0000000000000000,
"userName" : "a",
"__v" : 0
}
{
"_id" : ObjectId("561e34c68b7639481c38ce63"),
"id" : "1659143",
"timeTakenAt" : 1444820166833.0000000000000000,
"userName" : "b",
"__v" : 0
}
我想改變用戶名到別的東西的例子。
以JOHN CENA爲例。
這是我正在使用的代碼。
...
var UserModel = mongoose.model('userSchema', userSchema);
...
updateUsers()
function updateUsers(){
UserModel.update({}, {$set: {userName: 'JOHN CENA'}}, {multi:true})
}
但它不起作用,甚至沒有更改單個文檔。 我還發現,一些人使用
UserModel.update({}, {$set: {userName: 'JOHN CENA'}}, false,true)
但是,一個給我一個錯誤,所以我想這是從舊版本的代碼。
但是,如果我用
UserModel.update({}, {$set: {userName: 'JOHN CENA'}}, {multi:true}, updateUsers)
(這顯然循環永遠,因爲它自稱)。每一份文件最終都會以JOHN CENA用戶名進行更新。
我不明白這裏發生了什麼,有誰能幫助我嗎?
編輯:在下面的評論中,用戶建議添加一個空的回調。我做了什麼,現在它按預期工作。我感謝他(@Sergio Tulentsev),我希望這個線程能夠在未來幫助其他人。
事實上,這應該有工作。你使用的是什麼版本(mongodb,node.js,mongoose)? –
如果你提供一個空的回調(雖然這應該是問題),那會怎麼樣? –
@Sergio Tulentsev我已經在3個星期前下載了其中的三個。所以我很確定我有他們所有的最新版本。 編輯:所以我只是添加了一個空的回調,現在它出於某種原因。那麼我的問題現在就解決了,謝謝! – Skum