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

ลบและอัปเดตบันทึกที่มีอยู่ใน MongoDB หรือไม่


คุณสามารถใช้ตัวดำเนินการ $pull เท่านั้นที่จะลบและอัปเดตระเบียนที่มีอยู่ใน MongoDB ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -

> db.removeDemo.insertOne(
...    {
...       "UserName" : "Larry",
...       "UserDetails" : [
...          {
...             "_id" : 101,
...             "UserEmailId" : "[email protected]",
...          }
...       ]
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cc7f9f88f9e6ff3eb0ce446")
}
> db.removeDemo.insertOne(
...    {
...       "UserName" : "Mike",
...       "UserDetails" : [
...          {
...             "_id" : 102,
...             "UserEmailId" : "[email protected]",
...          }
...       ]
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cc7f9f98f9e6ff3eb0ce447")
}

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -

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

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

{
   "_id" : ObjectId("5cc7f9f88f9e6ff3eb0ce446"),
   "UserName" : "Larry",
   "UserDetails" : [
      {
         "_id" : 101,
         "UserEmailId" : "[email protected]"
      }
   ]
}
{
   "_id" : ObjectId("5cc7f9f98f9e6ff3eb0ce447"),
   "UserName" : "Mike",
   "UserDetails" : [
      {
         "_id" : 102,
         "UserEmailId" : "[email protected]"
      }
   ]
}

ให้เราใช้การสืบค้น $pull เพื่อลบและปรับปรุงบันทึกที่มีอยู่ -

> db.removeDemo.update(
...    {"_id": ObjectId("5cc7f9f98f9e6ff3eb0ce447")},
...    { "$pull": { "UserDetails": {"_id": 102}}}
... );
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

ให้เราแสดงเอกสารจากคอลเลกชันเพื่อตรวจสอบว่าวัตถุถูกลบออกหรือไม่ -

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

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

{
   "_id" : ObjectId("5cc7f9f88f9e6ff3eb0ce446"),
   "UserName" : "Larry",
   "UserDetails" : [
      {
         "_id" : 101,
         "UserEmailId" : "[email protected]"
      }
   ]
}
{
   "_id" : ObjectId("5cc7f9f98f9e6ff3eb0ce447"),
   "UserName" : "Mike",
   "UserDetails" : [ ]
}