Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

แบบสอบถาม MongoDB เพื่ออัปเดตเอกสารที่ซ้อนกัน


ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo595.insertOne( { "Information": [
   { "_id": new ObjectId(), Name:"Chris" },
   { _id:new ObjectId(), Name:"Robert" }
] } );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e93369cfd2d90c177b5bce4")
}

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{
   "_id" : ObjectId("5e93369cfd2d90c177b5bce4"),
   "Information" : [
      {
         "_id" : ObjectId("5e93369cfd2d90c177b5bce2"),
         "Name" : "Chris"
      },
      {
         "_id" : ObjectId("5e93369cfd2d90c177b5bce3"),
         "Name" : "Robert"
      }
   ]
}

ต่อไปนี้เป็นแบบสอบถามเพื่อปรับปรุงเอกสารที่ซ้อนกัน -

>db.demo595.update({"Information._id":ObjectId("5e93369cfd2d90c177b5bce2")},
   {$set:{"Info rmation.$.Name":"David Miller"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{
   "_id" : ObjectId("5e93369cfd2d90c177b5bce4"),
   "Information" : [
      {
         "_id" : ObjectId("5e93369cfd2d90c177b5bce2"),
         "Name" : "David Miller"
      },
      {
         "_id" : ObjectId("5e93369cfd2d90c177b5bce3"),
         "Name" : "Robert"
      }
   ]
}