簡體   English   中英

更新對象數組中的值 MongoDb

[英]Update a value in array of objects MongoDb

    {
      "name": "user2",
      "avatar": 1,
      "email": "example@gmail.com",
      "categories": [
        {
          "cname": "Category 1",
          "list": [
            {
              "status": "pending",
              "name": "List Item 1"
            },
            {
              "status": "pending",
              "name": "List Item 2"
            }
          ]
        }
      ]
    }

我想將“categories.list.status”=“pending”更新為“completed”。 我該怎么做? 我嘗試使用位置運算符($),但它給出了太多位置運算符的錯誤。

如果您使用的是 Mongoose(正如您的標簽所建議的那樣),您只需更新文檔對象中的值,然后保存它

document.list[0].status = "completed";
document.save();

我試過這個。 有效。

    document.updateOne({_id: id}, {
    {
        $set: {
              "categories.$[].list.$[ele].status" : status
             }
    },
    {
        arrayFilters: [{"ele.name" : name}]
    }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM