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

ลบฟิลด์ทั้งหมดยกเว้นฟิลด์เดียวจากเอกสารซ้อน (Nested Document) ด้วย Projection ใน MongoDB

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

สร้างคอลเลกชันพร้อมเอกสารที่มีโครงสร้างซ้อน (Nested Document):

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

แสดงเอกสารทั้งหมด:

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

ผลลัพธ์ - มี description1, description2, description3 ครบ:

คำสั่ง Projection เพื่อลบ description1 และ description3 ออก (ตั้งค่าเป็น 0) แสดงเฉพาะ description2:

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

ผลลัพธ์ - เหลือเพียง description2 เท่านั้น: