Так что я знаю, что этот вопрос задан много раз, но я искал его более 30 минут, и я честно не могу найти то, что я делаю неправильно.Обновление нескольких документов MongoDB в NodeJS не работает
Я хочу, чтобы обновить свои данные Монго
Вот пример двух документов
{
"_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.
Я не понимаю, что здесь происходит, может ли кто-нибудь помочь мне, пожалуйста?
EDIT: В комментариях ниже пользователь предложил добавить пустой обратный вызов. Что я сделал, и теперь он работает по назначению. Я благодарю его (@Sergio Tulentsev), и я надеюсь, что эта нить поможет кому-то еще в будущем.
Действительно, это должно было сработать. Какие версии вы используете (mongodb, node.js, mongoose)? –
Что делать, если вы предоставляете пустой обратный вызов (хотя это должно быть проблемой)? –
@ Сергио Туленцев Я загрузил три из этих трех недель назад. Поэтому я уверен, что у меня есть последняя версия. EDIT: Я просто добавил пустой обратный вызов, и теперь он работает по какой-то причине. Ну, теперь моя проблема решена, спасибо! – Skum