ลบค่าออกจาก Array ด้วย $pull (ตรงข้าม $addToSet)
$addToSet เพิ่มค่าเข้า Array ถ้ายังไม่มี | $pull ลบค่าที่ match ออกจาก Array
สร้างข้อมูลตัวอย่าง
> db.oppositeAddToSetDemo.insertOne({"StudentName":"John","StudentHobby":["Cricket","Cooking","Drawing"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c8eddcc2f684a30fbdfd588") }
> db.oppositeAddToSetDemo.insertOne({"StudentName":"Carol","StudentHobby":["Cricket","Dance","Hiking"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c8eddfd2f684a30fbdfd589") }
> db.oppositeAddToSetDemo.insertOne({"StudentName":"David","StudentHobby":["Learning","Photography"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5c8ede272f684a30fbdfd58a") }
ลบ "Cooking" ออกจาก StudentHobby ของ John
> db.oppositeAddToSetDemo.update(
{"StudentName": "John"},
{$pull: { "StudentHobby": "Cooking" }}
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
ตรวจสอบผลลัพธ์
> db.oppositeAddToSetDemo.find().pretty();
{ "_id" : ObjectId("5c8eddcc2f684a30fbdfd588"), "StudentName" : "John", "StudentHobby" : [ "Cricket", "Drawing" ] }
{ "_id" : ObjectId("5c8eddfd2f684a30fbdfd589"), "StudentName" : "Carol", "StudentHobby" : [ "Cricket", "Dance", "Hiking" ] }
{ "_id" : ObjectId("5c8ede272f684a30fbdfd58a"), "StudentName" : "David", "StudentHobby" : [ "Learning", "Photography" ] }
"Cooking" ถูกลบออกจาก Array ของ John แล้ว