我在MySQL数据库中有区域表,如果我执行以下查询它运行良好并返回记录:
SELECT *
FROM zones
WHERE zone_structure_id = 2
AND country_code='CA'
AND 'B2H5E1' between from_postal_code and to_postal_code
类似地,我在MongoDB中有区域集合。
我希望查询能够取回MongoDB中的记录。
fromPostalCode : "B2H0A1"
和toPostalCode : "B2H6B8"
,因此如果"B2H5E1"
在范围内,则应返回该行。
{
"_id" : { "$oid" : "559b55b9e4b0c262a075e95d"} ,
"_class" : "com.jiit.restlet.model.Zone" ,
"zoneId" : 481 ,
"zoneStructureId" : 2 ,
"zoneName" : "MAR" ,
"cityName" : "null" ,
"provinceCode" : "null" ,
"countryCode" : "CA" ,
"fromPostalCode" : "B2H0A1" ,
"toPostalCode" : "B2H6B8"
}
答案 0 :(得分:2)
您可以这样做:
db.zone.find({
"zoneStructureId" : 2,
"countryCode": "CA",
"fromPostalCode": { "$lt": "B2H5E1" },
"toPostalCode": { "$gt": "B2H5E1" }
})