如何在 MongoDB 中更新子对象?

mongodbdatabasebig data analytics更新于 2026/1/12 1:07:17

要更新子对象,请使用 $set 运算符。首先,我们创建一个包含文档的集合。 −

>db.updateChildObjectsDemo.insertOne({"StudentName":"Chris","StudentOtherDetails":{"StudentSubject":"MongoDB","StudentCountryName":"AUS"}});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ce964e078f00858fb12e91f")
}

以下是使用 find() 方法显示集合中的所有文档的查询 −

> db.updateChildObjectsDemo.find().pretty();

这将产生以下输出 −

{
   "_id" : ObjectId("5ce964e078f00858fb12e91f"),
   "StudentName" : "Chris",
   "StudentOtherDetails" : {
      "StudentSubject" : "MongoDB",
      "StudentCountryName" : "AUS"
   }
}

以下是更新 MongoDB 中子对象的查询 −

> db.updateChildObjectsDemo.update({"StudentName" : "Chris"},{$set:{"StudentOtherDetails.StudentCountryName":"UK"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

让我们再检查一下文件 −

> db.updateChildObjectsDemo.find().pretty();

这将产生以下输出 −

{
   "_id" : ObjectId("5ce964e078f00858fb12e91f"),
   "StudentName" : "Chris",
   "StudentOtherDetails" : {
      "StudentSubject" : "MongoDB",
      "StudentCountryName" : "UK"
   }
}

相关文章