MongoDB: как обновить только один элемент в документе? - PullRequest
0 голосов
/ 04 сентября 2018

Я хочу обновить только один элемент в документе, чтобы использовать запрос пут

Я пытался

PUT localhost: 3000 / api / memo / 5b8e382d61984255d879f872

{
    text: "updated!"
{

но оно обновилось, как это

{
    text: "updated!",
    imgUrl: null,
    tag: null,
    ...
}

Есть ли способ обновить один элемент в документе?

await Memo.where('_id')
      .equals(req.params.id)
      .updateOne({
        imgUrl: req.body.imgUrl,
        text: req.body.text,
        tag: req.body.tag,
        user: req.body.user,
        loc: req.body.loc
      })

1 Ответ

0 голосов
/ 04 сентября 2018

Вы можете использовать следующее решение для обновления только одного элемента:

Memo.updateOne(
  { "_id" : ObjectId("5b8e83957d56e802274d6") },
  { $set: { "text" : "updated" } });

UpdateOne () обновляет первый соответствующий документ в коллекции, который соответствует фильтру. Приведенная выше операция запроса обновляет один документ, в котором текст: «обновлен».

Операция может либо заменить существующий документ, либо обновить определенные поля в существующем документе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...