我有如下对象:
{
"_id" : ObjectId("4f7f0d64e4b0db1e18790f10"),
"location" : [
0.674081,
23.473
],
"name" : "Item Name"
}
如果我尝试在位置字段上创建 2D 索引,则会收到错误消息:
> db.Place.ensureIndex({location:"2d"});
point not in interval of [ -180, 180 )
我尝试查找超出范围的文档,但这不会返回任何结果:
> db.Place.find({"location.0":{"$lte":-180, "$gte":180}});
> db.Place.find({"location.1":{"$lte":-180, "$gte":180}});
我还尝试了以下查询以确保:
> db.Place.find({"location":{"$size":0}}).count();
0
> db.Place.find({"location":{"$size":1}}).count();
0
> db.Place.find({"location":{"$size":2}}).count();
363485
> db.Place.count();
363485
我可以使用哪些其他方法来查找错误文档?
有关信息,我在 32 位 Linux 上使用 MongoDB 版本 2.0.2(是的,我知道这对于产品来说还不够好)。这些文档由 Java 文档导入,其中位置对象仅表示为double
原语。