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

MongoDB: คิวรีด้วย $lte, $in, $not เพื่อดึงค่าเฉพาะ


สร้างคอลเลกชันตัวอย่าง

> db.demo130.insertOne(
  {
    "PlayerDetails": [{Score:56},{Score:78},{Score:89},{Score:97}]
  }
);
{ "acknowledged": true, "insertedId": ObjectId("5e3065bf68e7f832db1a7f6d") }
> db.demo130.insertOne(
  { "PlayerDetails": [{Score:45},{Score:56}] }
);
{ "acknowledged": true, "insertedId": ObjectId("5e3065c068e7f832db1a7f6e") }

แสดงข้อมูล

> db.demo130.find();
{ "_id": ObjectId("5e3065bf68e7f832db1a7f6d"), "PlayerDetails": [ { "Score": 56 }, { "Score": 78 }, { "Score": 89 }, { "Score": 97 } ] }
{ "_id": ObjectId("5e3065c068e7f832db1a7f6e"), "PlayerDetails": [ { "Score": 45 }, { "Score": 56 } ] }

คิวรี: หาเอกสารที่มี Score = 56 และไม่มีค่า > 56

> db.demo130.find({
  "PlayerDetails.Score": {
    "$eq": 56,
    "$not": { "$gt": 56 }
  }
})

ผลลัพธ์: ได้เฉพาะเอกสารที่สอง (มีแค่ 45 และ 56)

{ "_id": ObjectId("5e3065c068e7f832db1a7f6e"), "PlayerDetails": [ { "Score": 45 }, { "Score": 56 } ] }