我的文档包含如下所示的地理区域。
"geo" : {
"type" : "Point",
"coordinates" : [
37.44609999,
-121.88355687
]
},
我创建了一个空间索引,证明如下。
db.collection.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"ns" : "db.collection",
"name" : "_id_"
},
{
"v" : 1,
"key" : {
"geo.coordinates" : "2dsphere"
},
"ns" : "db.collection",
"name" : "geo.coordinates_2dsphere"
}
]
然而,当我执行以下查询时(从MongoDB手册逐字逐句)。
db.collection.find( { 'geo.coordinates': { $near:
{ $geometry :
{ type : "Point",
coordinates: [ 37.44609999, -121.88355687 ] } },
$maxDistance: 1000
} } )
我收到以下错误。
error: {
"$err" : "$near requires geojson point, given { type: \"Point\", coordinates: [ 37.44609999, -121.88355687 ] }",
"code" : 16681
}
有人可以告诉我为什么?
答案 0 :(得分:2)
翻转积分:
“geo”:{ “type”:“Point”, “坐标”:[ -121.88355687, 37.44609999 ] },
否则,请检查您的坐标以确定它们是否真实: http://geojsonlint.com/