Я хочу сделать запрос mongodb для поиска компаний, применив следующий фильтр.
{
myLocation: [lng1, lat1], // That is to get distance from current location to companies on result.
region: [lng2, lat2], //That is to get companies within a radius in this region
radius: 10000,
tags: ["tag1", "tag2"],
sort: "asc" // to sort by nearest from current location.
}
Я подумал, что нужно использовать $ geoNear дважды, и сделал такую агрегацию.
{
$geoNear: {
near: {
type: "Point",
coordinates: myLocation
},
distanceField: 'distance1',
maxDistance: radius,
spherical: true,
},
$match: { tags: tags },
$geoNear: {
near: {
type: "Point",
coordinates: region
},
distanceField: 'distance2',
spherical: true,
}
}
, но возникает ошибка - $ geoNear действует только в качестве первого этапа в конвейере.
Есть ли способ сделать запрос для работы этого фильтра.
Благодарю за вашу помощь.