Mongodb查询在字段之间搜索一个字母数字邮政编码

时间:2015-07-28 06:56:35

标签: mysql sql mongodb mongodb-query

我在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"
}

1 个答案:

答案 0 :(得分:2)

您可以这样做:

db.zone.find({ 
    "zoneStructureId" : 2, 
    "countryCode": "CA", 
    "fromPostalCode": { "$lt": "B2H5E1" }, 
    "toPostalCode": { "$gt": "B2H5E1" }
})