Mongodb $near需要geojson点,给定geojson点
我的文档中包含一个地理字段,如下所示Mongodb $near需要geojson点,给定geojson点,mongodb,Mongodb,我的文档中包含一个地理字段,如下所示 "geo" : { "type" : "Point", "coordinates" : [ 37.44609999, -121.88355687 ] }, 我创建了一个空间索引,如下所示 db.collection.getIndexes() [ { "v" : 1, "key" : { "_id" : 1 }, "
"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手册中的逐字逐句)
我得到以下错误
error: {
"$err" : "$near requires geojson point, given { type: \"Point\", coordinates: [ 37.44609999, -121.88355687 ] }",
"code" : 16681
}
有人能告诉我为什么吗?把要点翻过来: “geo”:{ “类型”:“点”, “坐标”:[ -121.88355687, 37.44609999 ] }, 否则,请检查您的坐标是否为真坐标:
根据geojsonlint.com,我的坐标指定顺序错误。但我的文档是直接从推特流API获取的推特。这是否意味着Twitter正在为其流中的每一条推文创建无效的geoJSON?此外,解决这个问题的唯一办法似乎是我翻转到目前为止收集的每个文档(tweet)中的坐标。所有tweet现在都有一个坐标字段,其中坐标以正确的顺序指定,还有一个geo.coordinates字段,它们是向后的。很高兴我能帮上忙。干杯
error: {
"$err" : "$near requires geojson point, given { type: \"Point\", coordinates: [ 37.44609999, -121.88355687 ] }",
"code" : 16681
}