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

ค้นหาเอกสารใน MongoDB โดยที่อย่างน้อยหนึ่งรายการจากอาร์เรย์ไม่อยู่ในอีกรายการหนึ่ง


สำหรับสิ่งนี้ ให้ตั้งค่า regex ใน MongoDB find() ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo228.insertOne({"Subjects":["MongoDB","Java"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3fa51f03d395bdc213473b")
}
> db.demo228.insertOne({"Subjects":["MongoDB","Java","MySQL"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3fa52c03d395bdc213473c")
}

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

> db.demo228.find();

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

{ "_id" : ObjectId("5e3fa51f03d395bdc213473b"), "Subjects" : [ "MongoDB", "Java" ] }
{ "_id" : ObjectId("5e3fa52c03d395bdc213473c"), "Subjects" : [ "MongoDB", "Java", "MySQL" ] }

ต่อไปนี้เป็นแบบสอบถามเพื่อค้นหาเอกสารที่มีอย่างน้อยหนึ่งรายการจากอาร์เรย์ไม่อยู่ในอีก -

> db.demo228.find({ "Subjects": /^(?!MongoDB|Java)/ });

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

{ "_id" : ObjectId("5e3fa52c03d395bdc213473c"), "Subjects" : [ "MongoDB", "Java", "MySQL" ] }