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

ค้นหาเอกสารที่มีฟิลด์เฉพาะใน MongoDB

ใช้ตัวดำเนินการ $exists เพื่อค้นหาเอกสารที่มีฟิลด์ที่ระบุ เริ่มต้นด้วยการสร้างคอลเลกชันตัวอย่าง:

> db.findDocumentContainsSpecificFieldDemo.insertOne({"ProductPrices":{"Product1":10,"Product2":50}});
{ "acknowledged" : true, "insertedId" : ObjectId("5cf2385bb64a577be5a2bc14") }
> db.findDocumentContainsSpecificFieldDemo.insertOne({"ProductPrices":{"Product3":150,"Product7":100,"Product5":250}});
{ "acknowledged" : true, "insertedId" : ObjectId("5cf2387eb64a577be5a2bc15") }

แสดงเอกสาร:

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

คิวรี่ค้นหาเอกสารที่มีฟิลด์ Product2 ภายใน ProductPrices (ใช้ dot notation):

> db.findDocumentContainsSpecificFieldDemo.find({"ProductPrices.Product2":{$exists:true}});

การใช้งาน $exists:

  • {field: {$exists: true}} - มีฟิลด์นี้ (รวมถึงค่า null)
  • {field: {$exists: false}} - ไม่มีฟิลด์นี้
ใช้ dot notation เข้าถึงฟิลด์ซ้อนได้ เช่น ProductPrices.Product2