hi,春哥:
最近在使用resty.mongol库查询mongodb的时候,发现同样的查询语句,通过lua查出来的结果和在mongodb控制台执行的结果不一致的情况。
程序是通过mongodb的地理空间索引,查询离某一坐标点距离最近的坐标点。lua代码如下:
local db = mongo:new_db_handle("weather")
local col = db:get_col("corecities_old")
local dbinfo = {}
local gps={}
gps["$near"]={30.59,114.3}
dbinfo.gps=gps
local result2,err = col:find_one(dbinfo);
返回的结果是:
{
"_id" : ObjectId("559a1ba6a991ccd33150f006"),
"gid" : 232422,
"lat" : 0.31628,
"lng" : 32.58219,
"gps" : {
"lat" : 0.31628,
"lng" : 32.58219
}
}
mongodb控制台执行的命令为:
> db.corecities_old.findOne({"gps":{"$near":[30.59,114.3]}})
{
"_id" : ObjectId("559a1ba6a991ccd33150f2ec"),
"gid" : 1791243,
"lat" : 30.59865,
"lng" : 114.31183,
"gps" : {
"lat" : 30.59865,
"lng" : 114.31183
}
}
请帮忙看一下,是我的代码写的有问题,还是lua-resty-mongol库不支持$near命令符查询?
谢谢