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

ลบทั้งหมดยกเว้นฟิลด์เดียวจากเอกสารที่ซ้อนกันผ่านการฉายภาพใน MongoDB


ตั้งค่าฟิลด์ที่คุณไม่ต้องการรวมเป็น 0 ซึ่งจะแสดงค่าที่เหลือในขณะที่ใช้ find() ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -

> db.demo237.insertOne({
...   _id:101,
...   Product: {
...      description1: {id:1001 },
...      description2: {Name:"Product-1" },
...      description3: {Price:550 }
...   }
...}
...);
{ "acknowledged" : true, "insertedId" : 101 }

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

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

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

{
   "_id" : 101,
   "Product" : {
      "description1" : {
         "id" : 1001
      },
      "description2" : {
         "Name" : "Product-1"
      },
      "description3" : {
         "Price" : 550
      }
   }
}

ต่อไปนี้เป็นแบบสอบถามที่จะลบทั้งหมดยกเว้นฟิลด์เดียวจากเอกสารที่ซ้อนกันผ่านการฉาย -

> db.demo237.find({}, { "Product.description1": 0, "Product.description3": 0 });

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

{ "_id" : 101, "Product" : { "description2" : { "Name" : "Product-1" } } }