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")
}

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

> db.demo130.find();

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

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

ต่อไปนี้เป็นแบบสอบถามที่จะดึงข้อมูล -

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

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

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