私はできる限り、有効なGeoJSONオブジェクトである "ポリゴン"プロパティを含むドキュメントをデータベースに持っています。 GeoJSON Pointオブジェクトを使用してデータベースを検索して、ポリゴンプロパティのポリゴンにポイントが含まれているドキュメントを探したいとします。これを行うには、私は$ geoIntersects演算子を使用していますが、findを実行するたびに、MongoDBはエラーを返します:[エラー:$ geoIntersectsを使用できません]。
、データベース内のオブジェクトのみ:
{
"_id": ObjectId("581540795fd2da1b188eb09c"),
"name":"String",
"polygon":{
"coordinates":[
[ -90, -180 ],
[ 90, -180 ],
[ 90, 180 ],
[ -90, 180 ],
[ -90, -180 ]
],
"_id": ObjectId("581540795fd2da1b188eb09d"),
"name": "String",
"type": "Polygon"
},
"__v":0
}
私は、データベースを検索するためのマングースを使用しています。検索をプリフォームするために使用されるクエリ:私はシンプルなものに緯度と経度を設定した場合
{
polygon: {
$geoIntersects: {
$geometry: {
type: 'Point',
coordinates: [<long>, <lat>]
}
}
}
}
、(0,0)または(1,1)と言います。エラーを返します。私が他のところで読んだことによると、このエラーが返される唯一の理由は、データベース内のドキュメントが有効なGeoJSONオブジェクトではないためですが、データベース内の唯一のオブジェクトに何か問題がないことがわかります。