Я использую конвейер Монго в поиске агрегации по 2 коллекциям, местоположениям и местам.
Я пытаюсь вернуть все места, где находятся эти места.
Я получаю сообщение об ошибке: «MongoError: поле« рядом »должно быть точкой»
Я считаю, что это потому, что я пытаюсь использовать переменную $ point в конвейере из поиска let в поиске, и я здесь что-то делаю не так. Все ответы, которые я вижу здесь, имеют статические координаты, но я хочу использовать ответы из поиска.
Это код, который у меня есть:
return await this.placeModel.aggregate([{
$lookup : {
from : "locations",
let : {point : "location.coordinates"},
pipeline: [ {
$geoNear: {
distanceField: "distance",
near: { type: "Point", coordinates: "$point" },
maxDistance: 20,
spherical: true
}
}],
as : "places"
}
}]);
}
У меня есть модель Мангуста Плейс и модель Локация. Каждая модель имеет точку GeoJson, которая выглядит следующим образом:
location: {
type: { type: String },
coordinates: []
},
Как правильно ссылаться на точку, если это вообще возможно.