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

จะลบข้อมูลเฉพาะในเอกสารใน MongoDB ได้อย่างไร?


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

> db.demo20.insertOne(... {...... "ListOfEmployee" :[... {... "EmployeeName1" :"John"... },... {.. . "EmployeeName2" :"Carol"... }... ],... "EmployeeName2" :[]... }... );{ "acknowledged" :true, "insertedId" :ObjectId("5e138c3555d0fc6657d21f12 ")}

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

> db.demo20.find();

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

{ "_id" :ObjectId("5e138c3555d0fc6657d21f12"), "ListOfEmployee" :[ { "EmployeeName1" :"John" }, { "EmployeeName2" :"Carol" } ], "EmployeeName2" :[ ] }  

ต่อไปนี้เป็นแบบสอบถามเพื่อลบข้อมูลเฉพาะในเอกสาร -

> db.demo20.update({ "EmployeeName2":{ "$exists":1 }}, { "$unset":{ "EmployeeName2":"" } });WriteResult({ "nMatched" :1 , "nUpserted" :0, "nModified" :1 })

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

> db.demo20.find();

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

{ "_id" :ObjectId("5e138c3555d0fc6657d21f12"), "ListOfEmployee" :[ { "EmployeeName1" :"John" }, { "EmployeeName2" :"Carol" } ] }