Я пытаюсь запросить моего мон go для двух геопространственных запросов. Нужно ли отправлять запрос дважды - возможно, я делаю $ или неправильно? В любом случае здесь используется нижнее значение -
Пользователь вводит местоположение, и я могу попросить его отправить данные из «bandLocation» или «bandTour» - каждый из них - геопространственные запросы. Вот запрос, который работает, но делает только один из селекторов одновременно.
router.get('/allbands/:lng/:lat', (req, res) => {
quoteGenerator.find(
{
"bandLocation.geometry":
{ $near :
{
$geometry: {
type: "Point",
coordinates: [parseFloat(req.params.lng), parseFloat(req.params.lat)]
},
$maxDistance: 160934,
}
}
},
)
.then(
function(bands){
res.send(bands)
}
)
});
Я пытался использовать оператор $ или и $ and, но он ничего не отправлял обратно. Вот мой код с оператором $ или
router.get('/allbands/:lng/:lat', (req, res) => {
quoteGenerator.find(
{
$or : [
{
"bandLocation.geometry":
{ $near :
{
$geometry: {
type: "Point",
coordinates: [parseFloat(req.params.lng), parseFloat(req.params.lat)]
},
$maxDistance: 160934,
}
}
},
{
"bandTour.geometry":
{ $near :
{
$geometry: {
type: "Point",
coordinates: [parseFloat(req.params.lng), parseFloat(req.params.lat)]
},
$maxDistance: 160934,
}
}
}
]
}
.then(
function(bands){
res.send(bands)
}
)
});