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

กลับผลลัพธ์คำสั่ง MongoDB (Inverse of $and) ด้วย $or และ $ne

เพื่อกลับผลลัพธ์ (Inverse) ของการค้นหา $and ให้ใช้ $or ร่วมกับ $ne (Not Equal)

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

> db.demo4.insert({uid:1,"Name":"Chris","Age":22}); 
WriteResult({ "nInserted" : 1 }) 
> db.demo4.insert({uid:2,"Name":"David","Age":21}); 
WriteResult({ "nInserted" : 1 }) 
> db.demo4.insert({uid:3,"Name":"Bob","Age":23}); 
WriteResult({ "nInserted" : 1 }) 
> db.demo4.insert({uid:1,"Name":"Carol","Age":20}); 
WriteResult({ "nInserted" : 1 })

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

> db.demo4.find();

ผลลัพธ์ - 4 เอกสาร:

คำสั่งค้นหา: uid = 2 และ (Name != "Carol" OR Age != 21) - ใช้ $or กับ $ne เพื่อทำ Inverse ของ AND:

> db.demo4.find({uid:2,$or: [{"Name": {$ne: "Carol"}}, {"Age": {$ne: 21}}]});

ผลลัพธ์ - ได้เฉพาะเอกสาร uid=2 (David, Age 21) เพราะตรง uid=2 และ Name ไม่ใช่ Carol (เป็น David):