繁体   English   中英

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"
}

}

我想在其中添加另一个名为 address 对象的对象。 像这样的东西

{
"_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"}} })

但它不更新..

请尝试以下操作:

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

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

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

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

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

成功了!!

厘米!!

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM