NodeJS Пн goose updateOne не дает совпадений каждый раз - PullRequest
0 голосов
/ 28 января 2020

Я пытаюсь обновить документ в понедельник go с понедельника goose, используя метод updateOne:

const updateResult = await UserModel.updateOne({
    _id: mongoose.Types.ObjectId(userId)
}, {
    $set: {
        a: 'B'
    }
})
  • userId содержит строку идентификатора пользователя.

Я попытался использовать следующее

       1. { _id: userId }
       2. { email: theEmailOfTheUser }

Но все же updateResult

 n:0, nModified:0,  ok:0

Так что я думаю, что это должно быть что-то с самим методом, а не в мой запрос.

Кроме того, когда я пытаюсь найти пользователя, используя запрос ниже, он может найти его:

const user = await UserModel.find({
        _id: userId
    });
//user is found

1 Ответ

1 голос
/ 28 января 2020

На самом деле mon goose заботится о $set, и вам не нужно его добавлять. просто:

const updateResult = await UserModel.updateOne({
    _id: userId
}, {
    a: 'B'
})

, но лучшим решением было бы просто использовать findByIdAndUpdate():

const updateResult = await UserModel.findByIdAndUpdate(userId, {
    a: 'B'
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...