コレクション ペットを持っており、そのコレクションの場所に動物を保管しています。インデックスがあります。
{
"Cache.Location" : "2dsphere"
}
したがって、クエリを実行すると、最大距離 100 KM で私の都市 lviv の近くにある要素を取得することが期待されます
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
}
}
}
それで、私は何を間違っていますか?