Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Truy vấn MongoDB với $lte, $in, $not để lọc giá trị cụ thể

Kết hợp các toán tử so sánh để lọc document dựa trên giá trị trong mảng object.

Tạo collection demo130 với mảng PlayerDetails chứa object Score:

> db.demo130.insertOne({
   "PlayerDetails":[{Score:56},{Score:78},{Score:89},{Score:97}]
});
> db.demo130.insertOne({
   "PlayerDetails":[{Score:45},{Score:56}]
});

Tìm document có Score = 56 VÀ không có Score > 56 (tức là max Score = 56):

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

Chỉ document 2 khớp (chỉ có 45 và 56):

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