我在我的数据库中存储了一些GeoJSON点,我无法使用新的geoWithin(2.4.1)查询它们。
以下是我的收藏品的索引:
> db.features1.getIndexes();
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"ns" : "sagedb.features1",
"name" : "_id_"
},
{
"v" : 1,
"key" : {
"geometry" : "2dsphere"
},
"ns" : "sagedb.features1",
"name" : "geometry_2dsphere"
}
]
这是我在db中的一个文档
> db.features1.find();
{
"_id" : ObjectId("51672e677a62bb0000000003"),
"geometry" : {
"type" : "Point",
"coordinates" : [ -106.8610919, 49.665165099999996 ] },
"__v" : 0 }
我正在尝试运行此查询:
> db.features1.find( {
geometry: {
$geoWithin: {
$geometry: {
type: "Polygon",
coordinates: [ [ [-180,-90], [-180,90], [180,90], [180,-90], [-180,-90] ] ] } } } });
但我什么都没得到。我有什么想法吗?
答案 0 :(得分:1)
边界多边形必须<&lt;一个半球。如果它大于半球,它将不会返回任何东西。
2.4.1文档中缺少此内容。