求一个mongodb的查询语句(数组)
发布于 12 年前 作者 gfh21cn 8034 次浏览 最后一次编辑是 8 年前

{ “uid” : “TMP”, “gps” : [ 31.1539014, 121.3570068 ], “file” : “F:\node.js\code/TMP.2012623145448.png”, “time” : ISODate(“2012-06-23T06:54:48.209Z”), “_id” :ObjectId(“4fe5683895cbb00817000001”) }

gps是经纬度,我的目的想查询经纬度在一个范围内的记录,gps是个数组 db.pic.find({“gps[0]”:{$gt:0}}),发现不行,没有返回值。

数组中其中一个值的判断,应该用什么方法,另外,经纬度的范围判断,有什么好的办法

2 回复

这样查询可以:

db.pic.find({'gps.0' : {$gt : 0}})

有一个$near选择符可以查询在一个地点附近的记录,但是不能设定范围,只能用limit限制返回的记录数。并且给要查询的字段设置地理空间索引:

db.pic.ensureIndex({gps : '2d'})

可以了,谢谢

回到顶部