次のドキュメントが与えられます。
{
_id: 'foo'
locations: [
{
lat: 1,
lon: 2,
type: 'home'
},
{
lat: 10,
lon: 20,
type: 'office'
}
]
}
{
_id: 'bar'
locations: [
{
lat: 10,
lon: 20,
type: 'home'
},
{
lat: 1,
lon: 2,
type: 'office'
}
]
}
特定のタイプの場所の近くにあるすべてのドキュメントを見つけることは可能ですか?
たとえば、クエリは次のとおりです。
db.objects.find({locations: {$near: {lat: 1, lon: 2}, $maxDistance: 1}, 'locations.type': 'home'})
foo と bar の両方が返されます。これは、どちらも「home」タイプの場所と [1,2] の近くの場所があるためです。
クエリで実行したいのは、ホームの場所が [1,2] の近くにあるため、foo だけを見つけることです。