MongoDB 在对象中插入对象

MongoDB insert object inside an object

请建议我如何在对象中插入对象。 样品采集

{
"_id" : ObjectId("57556cec9d66a6c26b19ce06"),
"email" : "david@gmail.com",
"password" : "1235466",
"typeOfUser" : 1,
"userDetails" : {
    "firstName" : "David",
    "lastName" : "Beckham",
    "contactNumber" : "12345678989"
}

}

我想在其中添加另一个名为地址对象的对象。 像这样

{
"_id" : ObjectId("57556cec9d66a6c26b19ce06"),
"email" : "david@gmail.com",
"password" : "1235466",
"typeOfUser" : 1,
"userDetails" : {
    "firstName" : "David",
    "lastName" : "Beckham",
    "contactNumber" : "12345678989"
     "address" : {
        "country" : "",
        "state" : ""
     }
  }

}

请建议我如何为地址对象插入值..

我尝试了什么?

db.getCollection('PetCare').update({"contactNumber":"12345678989"},{"$push":{"address":{"country":"India","city":"Blore"}}})

但是没有更新..

您当前使用的 $push 运算符旨在向数组添加一个值,因此无法在此处完成工作。

如果您想使用新的 属性 更新文档,您需要使用 $set 运算符:

db.test.update({contactNumber: "xxx"}, {$set: {address: {country: "India", city: "Blore"}}})

尝试以下操作:

db.getCollection('PetCare').update({"userDetails.contactNumber":"12345678989"},{"$set":{"userDetails.address":{"country":"India","city":"Blore"}}})

请找到下面的代码,它按预期工作

成功了!!

cmiw!!

db.getCollection('PetCare').update(
  {"email" : "david@gmail.com"},
  {"$set":
    {"userDetails.address":
      {"country":"India","city":"Blore"}
    }
})