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

วิธีคืนค่าฟิลด์เฉพาะ (Projection) ใน MongoDB

ใช้เมธอด find() พร้อมพารามิเตอร์ที่สอง (Projection) เพื่อระบุฟิลด์ที่ต้องการคืนค่า

ตัวอย่างการใช้งาน

สร้างคอลเลกชันพร้อมข้อมูล:

> db.specificFieldDemo.insertOne({"FirstName":"John","LastName":"Doe"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb8019a623186894665ae31") }
> db.specificFieldDemo.insertOne({"FirstName":"John","LastName":"Smith"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb801ab623186894665ae32") }
> db.specificFieldDemo.insertOne({"FirstName":"David","LastName":"Miller"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb801b3623186894665ae33") }
> db.specificFieldDemo.insertOne({"FirstName":"Sam","LastName":"Williams"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb801bf623186894665ae34") }

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

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

ผลลัพธ์:

คืนค่าฟิลด์ LastName เท่านั้น (ซ่อน _id)

> db.specificFieldDemo.find({},{_id:0,LastName:1});

ผลลัพธ์:

ไวยากรณ์ Projection:

  • {field: 1} - รวมฟิลด์นี้ (Include)
  • {field: 0} - ไม่รวมฟิลด์นี้ (Exclude)
  • _id ถูกรวมโดยอัตโนมัติ ต้องระบุ _id: 0 ถ้าไม่ต้องการ
  • ไม่สามารถผสม Include/Exclude ได้ (ยกเว้น _id)