簡體   English   中英

更新文檔 mongodb nodejs 中的嵌套對象

[英]Update nested objects in document mongodb nodejs

我在 mongodb 集合中有這個文檔:

{
    _id :ObjectId("619ce75ca456eb79b75dc0c1")
    name : "John",
    car: {
        color: {
            red: 10
        }
    },
}

我想通過添加一個卑鄙的新鑰匙(如顏色)來更新汽車 Object

所以我想像這樣更新我的文檔:

{
    _id :ObjectId("619ce75ca456eb79b75dc0c1"),
    name : "John",
    car: {
        color: {
            red: 10
        },
        brand :{
            nissan : 1212
        }
    },
}

如何使用 mongodb updateOne 做到這一點? 我的代碼從汽車 object 中刪除了最后一個鍵,並添加了新鍵:

var car = {}
   car["brand"] = {
      nissan : 1212
   }

db.collection("collection").updateOne(
        {name : "John"} , 
        {$set : { car : car}}
      );
    }

//Current output: 
//{
//  _id :ObjectId("619ce75ca456eb79b75dc0c1"),
//  name : "John",
//  car: {
//       brand :{
//           nissan : 1212
//      }
//  },
//}


//The output  I want: 
//{
//  _id :ObjectId("619ce75ca456eb79b75dc0c1"),
//  name : "John",
//  car: {
//      color: {
//          red: 10
//      },
//      brand :{
//           nissan : 1212
//      }
//  },
//}

還有一個問題,如果我們想要添加顏色 object 的品牌或顏色或每個鍵是一個變量,我們如何將它添加到顏色 object 中?

db.collection.updateOne({ "name": "John" }, { $set: { "car.brand.nissan": 1212 } } )

暫無
暫無

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

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