我有收藏宠物,我在其中存储具有该收藏位置的动物我有索引
{
"Cache.Location" : "2dsphere"
}
因此,当我运行查询时,我希望在最大距离 100 公里内获得靠近我的城市利沃夫的元素
db.Pet.find({ "Cache.Location" : { "$nearSphere" : { "$geometry" : { "type" : "Point", "coordinates" : [24.029717000000005, 49.839683] } }, "$maxDistance" : 100000.0 } })
但它会返回奇怪的结果,比如来自俄罗斯和以色列的宠物。
但是我的位置有很多宠物,应该归还
{
"_id" : 336,
"PetTypeId" : 1,
"UserId" : 373,
"PetBreedId" : 127,
"Adverts" : [],
"Name" : "Каспер",
"Birthdate" : ISODate("2009-04-06T21:00:00.000Z"),
"CreatedAt" : ISODate("2011-07-27T18:32:25.000Z"),
"MainImageFileId" : 1361,
"Description" : "",
"Sex" : 1,
"Cache" : {
"MainImage" : "http://img.thebestofpets.com/%size%/1/1361.jpg",
"Location" : {
"lat" : 49.83968353271484, "lng" : 24.02971649169922
}
}
}
那么我做错了什么?