เพื่อลบออบเจกต์ในคอลเล็กชันย่อย ให้ใช้ $pull ใน MongoDB มาสร้างคอลเล็กชันกันเถอะ
> db.demo715.insertOne({
_id:1,
details :
[
{
'id' : '101',
'Information' : [
{
'studentid' : '102',
"Name":"Bob"
},
{
'studentid' : '103',
"Name":"Chris"
}
]
}
]
});
{ "acknowledged" : true, "insertedId" : 1 }
แสดงเอกสารทั้งหมดด้วยเมธอด find()
> db.demo715.find();
ผลลัพธ์ที่ได้
{ "_id" : 1, "details" : [ { "id" : "101", "Information" : [ { "studentid" : "102", "Name" : "Bob" }, { "studentid" : "103", "Name" : "Chris" } ] } ] }
คำสั่งลบออบเจกต์ในคอลเล็กชันย่อย (studentid 102, Name Bob)
> db.demo715.update(
{"details.id":'101'},
{ $pull: { 'details.$.Information':{studentid:'102',"Name":"Bob"} } }
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
แสดงเอกสารทั้งหมดหลังลบ
> db.demo715.find();
ผลลัพธ์ที่ได้
{ "_id" : 1, "details" : [ { "id" : "101", "Information" : [ { "studentid" : "103", "Name" : "Chris" } ] } ] }