我在MongoDB上有一个数据库,有这样的集合:
{
"_id" : ObjectId("59a64b4cfb80146432aff6ac"),
"name": "Mid Range",
"end" : NumberLong("50000"),
"start" : NumberLong("10000"),
},
{
"_id" : ObjectId("59a64b4cfb80146432aff6ac"),
"name": "Hi Range",
"end" : NumberLong("100000"),
"start" : NumberLong("150000"),
}
用户输入一个数字来验证:125000,我需要一个查询来获取:“Hi Range”文档。 我怎样才能做到这一点?我试图避免代码方面,但如果没有选择就可以了。
谢谢!
答案 0 :(得分:2)
你甚至可以不用$和。您只需设置查询以查找结果,使您的数字小于或等于其结尾且大于或等于其开始。例如:
db.collection.find({start: {$lte: 125000}, end: {$gte: 125000}})
答案 1 :(得分:0)
你可以这样做 -
db.find({name:/Hi Range/}) // regular Expression.
答案 2 :(得分:0)
为了避免确定12500是Hi Range的逻辑,你可以做类似的事情
db.collection.find( { $and: [ { start: { $lte: 125000 } }, { end: { $gt: 12500 } } ] } )