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

MongoDB Query: ค้นหาเอกสารยกเว้นบางรายการ (Inverse Query) ด้วย $nor และ $and

เพื่อดึงเอกสารทั้งหมดยกเว้นบางรายการเฉพาะ ให้ใช้ $nor ร่วมกับ $and

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

> db.demo1.insertOne({"StudentName":"Chris","StudentMarks":38}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5e08a4f025ddae1f53b62216") } 
> db.demo1.insertOne({"StudentName":"David","StudentMarks":78}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5e08a4f725ddae1f53b62217") } 
> db.demo1.insertOne({"StudentName":"Mike","StudentMarks":96}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5e08a4fd25ddae1f53b62218") }

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

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

ผลลัพธ์:

คำสั่งค้นหาเอกสารที่ ไม่ใช่ (StudentName = "David" และ StudentMarks = 78) พร้อมกัน โดยใช้ $nor + $and:

> db.demo1.find({$nor:[{$and:[{'StudentName':'David'},{'StudentMarks':78}]}]});

ผลลัพธ์ - ได้ Chris (38) และ Mike (96) ไม่รวม David ที่มีคะแนน 78: