如何使用 $lte 和 $in 對 MongoDB 的值進行查詢?
我們首先建立一個帶有文件的集合 -
> 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 }利用 find() 方法顯示集合中的所有文件 -
> db.queryMongoValueDemo.find().pretty();
這將產生以下輸出 -
{
"_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
}
]
}使用 $not 和 $gt 運算子一起實現的 $lte 和 $in 運算子的查詢 -
> db.queryMongoValueDemo.find({
"ScoreDetails.Score": {
"$eq": 80,
"$not": { "$gt": 80 }
}
});這將產生以下輸出 -
{ "_id" : 101, "ScoreDetails" : [ { "Score" : 80 }, { "Score" : 45 }, { "Score" : 25 }, { "Score" : 70 } ] }
{ "_id" : 102, "ScoreDetails" : [ { "Score" : 80 }, { "Score" : 24 }, { "Score" : 34 } ] }
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言
C++
C#
MongoDB
MySQL
Javascript
PHP