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

คิวรี่ MongoDB ตรวจสอบว่าค่าเฉพาะไม่มีอยู่ด้วย $ne

ใช้ $ne เพื่อหาเอกสารที่ไม่มีค่าเฉพาะ

บทความนี้สาธิตการใช้งานออปเจอเตอร์ $ne (Not Equal) ใน MongoDB เพื่อค้นหาเอกสารที่ฟิลด์เฉพาะไม่มีค่าเท่ากับค่าที่กำหนด

ขั้นตอนที่ 1: สร้าง Collection และเพิ่มข้อมูลตัวอย่าง

สร้าง collection ชื่อ demo206 มีฟิลด์ ClientDetails เป็นอาร์เรย์ของออบเจกต์ที่มี CountryName

> db.demo206.insertOne({
    "ClientDetails": [{ "Name": "Chris", "Age": 28, "CountryName": "US" }]
});
{ "acknowledged": true, "insertedId": ObjectId("5e3d8bd403d395bdc21346ee") }

> db.demo206.insertOne({
    "ClientDetails": [{ "Name": "David", "Age": 29, "CountryName": "UK" }]
});
{ "acknowledged": true, "insertedId": ObjectId("5e3d8bd403d395bdc21346ef") }

> db.demo206.insertOne({
    "ClientDetails": [{ "Name": "Bob", "Age": 31, "CountryName": "US" }]
});
{ "acknowledged": true, "insertedId": ObjectId("5e3d8bd503d395bdc21346f0") }

ขั้นตอนที่ 2: แสดงข้อมูลทั้งหมด

> db.demo206.find();

ผลลัพธ์:

{ "_id": ObjectId("5e3d8bd403d395bdc21346ee"), "ClientDetails": [{ "Name": "Chris", "Age": 28, "CountryName": "US" }] }
{ "_id": ObjectId("5e3d8bd403d395bdc21346ef"), "ClientDetails": [{ "Name": "David", "Age": 29, "CountryName": "UK" }] }
{ "_id": ObjectId("5e3d8bd503d395bdc21346f0"), "ClientDetails": [{ "Name": "Bob", "Age": 31, "CountryName": "US" }] }

ขั้นตอนที่ 3: ค้นหาเอกสารที่ CountryName ไม่ใช่ "US"

> db.demo206.find({ "ClientDetails.CountryName": { "$ne": "US" } });

ผลลัพธ์ที่ได้

{ "_id": ObjectId("5e3d8bd403d395bdc21346ef"), "ClientDetails": [{ "Name": "David", "Age": 29, "CountryName": "UK" }] }

สรุป: $ne เหมาะสำหรับการกรองข้อมูลที่ "ไม่ใช่" ค่าที่กำหนด ทำงานได้ทั้งฟิลด์ระดับบนสุดและฟิลด์ภายในอาร์เรย์ (Dot Notation)