MongoDB:如何仅更新文档中的一个元素?

时间:2018-09-04 11:56:58

标签: mongodb mongoose mongodb-query

我只想更新文档中的一个元素以使用放置请求

我尝试过

  

PUT本地主机: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 :(得分:0)

您可以使用以下解决方案来仅更新一个元素:

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

UpdateOne()更新集合中与过滤器匹配的第一个匹配文档。以上查询操作将更新单个文档,文本为:“ updated”。

该操作可以替换现有文档或更新现有文档中的特定字段。