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

จะลบเอกสารทั้งหมดออกจากคอลเล็กชันยกเว้นเอกสารเดียวใน MongoDB ได้อย่างไร


หากต้องการลบเอกสารทั้งหมดออกจากคอลเล็กชัน ยกเว้นเอกสารเดียวใน MongoDB ให้ใช้ remove() ตามเงื่อนไขบางประการ ให้เราสร้างคอลเลกชันที่มีเอกสาร ต่อไปนี้เป็นแบบสอบถาม

>db.removeAllDocumentsExceptOneDemo.insertOne({"StudentName":"Larry","StudentAge":21});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9c9de42d66697741252478")
}
>db.removeAllDocumentsExceptOneDemo.insertOne({"StudentName":"Mike","StudentAge":21,"StudentCountryName":"US"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9c9dea2d66697741252479")
}
>db.removeAllDocumentsExceptOneDemo.insertOne({"StudentName":"Chris","StudentAge":24,"StudentCountryName":"AUS"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9c9def2d6669774125247a")
}

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

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

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

{
   "_id" : ObjectId("5c9c9de42d66697741252478"),
   "StudentName" : "Larry",
   "StudentAge" : 21
}
{
   "_id" : ObjectId("5c9c9dea2d66697741252479"),
   "StudentName" : "Mike",
   "StudentAge" : 21,
   "StudentCountryName" : "US"
}
{
   "_id" : ObjectId("5c9c9def2d6669774125247a"),
   "StudentName" : "Chris",
   "StudentAge" : 24,
   "StudentCountryName" : "AUS"
}

ต่อไปนี้เป็นข้อความค้นหาเพื่อลบเอกสารทั้งหมดออกจากคอลเล็กชัน ยกเว้นเอกสารเดียว เช่น StudentAge 24

> db.removeAllDocumentsExceptOneDemo.remove({ StudentAge: { $ne: 24 } } );
WriteResult({ "nRemoved" : 2 })

ให้เราตรวจสอบเอกสารทั้งหมดตอนนี้ ต่อไปนี้เป็นแบบสอบถาม

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

ต่อไปนี้เป็นผลลัพธ์ที่แสดงเพียงเอกสารเดียว

{
   "_id" : ObjectId("5c9c9def2d6669774125247a"),
   "StudentName" : "Chris",
   "StudentAge" : 24,
   "StudentCountryName" : "AUS"
}