是否可以执行将其限制为键值的查询?前任。
"1":{
...
}
"2":{
...
}
"3":{
...
}
执行键值小于 3 且大于 1 的查询。
MongoDb 没有 $between 运算符。
您将需要使用 $lt(小于或 $lte - 小于等于)和 $gt(大于或 $gte - 大于等于)来定义您要查找的范围。像这样的东西应该工作。
{
"_id" : {$gt : 1 , $lt : 3}
}
我猜你正在寻找 $exists 查询。但它不支持范围存在。
db.testing.find()
{ "_id" : ObjectId("51380b1838fa3b768b5aa6b6"), "a" : 1 }
{ "_id" : 1, "x" : [ 1, 2, 3 ] }
{ "_id" : "id1", "a" : 1, "b" : "abhishek", "c" : true }
db.testing.find({_id : { $exists : 1}, a : {$exists : 1} })
{ "_id" : ObjectId("51380b1838fa3b768b5aa6b6"), "a" : 1 }
{ "_id" : "id1", "a" : 1, "b" : "abhishek", "c" : true }
仅供参考:我认为这些查询不会使用索引,因此操作会很慢。检查下面的解释命令以获取 $exists 查询。
db.testing.find({_id : { $exists : 1}}).explain()
{
"cursor" : "BasicCursor",
"isMultiKey" : false,
"n" : 3,
"nscannedObjects" : 3,
"nscanned" : 3,
"nscannedObjectsAllPlans" : 3,
"nscannedAllPlans" : 3,
"scanAndOrder" : false,
"indexOnly" : false,
"nYields" : 0,
"nChunkSkips" : 0,
"millis" : 0,
"indexBounds" : {
},
"server" : "bdvlpabhishekk:27016"
}