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

Cách truy vấn MongoDB giá trị với $lte và $in

Tạo collection có mảng ScoreDetails:

> db.queryMongoValueDemo.insertOne({
  _id: 101,
  "ScoreDetails": [{Score:80}, {Score:45}, {Score:25}, {Score:70}]
});
{ "acknowledged": true, "insertedId": 101 }
> db.queryMongoValueDemo.insertOne({
  _id: 102,
  "ScoreDetails": [{Score:80}, {Score:24}, {Score:34}]
});
{ "acknowledged": true, "insertedId": 102 }
> db.queryMongoValueDemo.insertOne({
  _id: 103,
  "ScoreDetails": [{Score:99}, {Score:95}]
});
{ "acknowledged": true, "insertedId": 103 }

Hiển thị tất cả document:

> db.queryMongoValueDemo.find().pretty();

Kết quả:

{
  "_id": 101,
  "ScoreDetails": [ { "Score": 80 }, { "Score": 45 }, { "Score": 25 }, { "Score": 70 } ]
}
{
  "_id": 102,
  "ScoreDetails": [ { "Score": 80 }, { "Score": 24 }, { "Score": 34 } ]
}
{
  "_id": 103,
  "ScoreDetails": [ { "Score": 99 }, { "Score": 95 } ]
}

Truy vấn tìm document có Score = 80 và không lớn hơn 80 (sử dụng $eq và $not với $gt):

> db.queryMongoValueDemo.find({
  "ScoreDetails.Score": {
    "$eq": 80,
    "$not": { "$gt": 80 }
  }
});

Kết quả (document 101 và 102 có Score 80):

{
  "_id": 101,
  "ScoreDetails": [ { "Score": 80 }, { "Score": 45 }, { "Score": 25 }, { "Score": 70 } ]
}
{
  "_id": 102,
  "ScoreDetails": [ { "Score": 80 }, { "Score": 24 }, { "Score": 34 } ]
}