我正在对2个集合(位置和地点)进行聚合查找时使用Mongo管道。
我正在尝试退还这些地点附近的所有地点。
我得到的错误是'MongoError:'near'字段必须是点'
我相信这是因为我正在尝试在let中使用管道中的$ point变量,并且在这里做错了。我在这里看到的所有答案都有静态坐标,但我想使用查找中的答案。
这是我的代码:
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"
}
}]);
}
我有一个猫鼬的Place模型和Location模型。每个模型都有一个如下所示的GeoJson点:
location: {
type: { type: String },
coordinates: []
},
如果可能的话,如何正确引用该点。