我的 geonear 代码可以正常工作,除非我输入查询:{id: req.params.id}。它适用于我放置的任何其他过滤器对象。
有谁知道如何在使用 geoNear 时使用 objectId 查询某个文档?
我现在有以下内容。有没有办法先对文档进行匹配,即{$match: {id: req.params.id}。我尝试这样做,但由于 $geoNear 必须是管道中的第一步,所以它没有成功。
const distances = await User.aggregate([
{
$geoNear: {
near: {
type: "Point",
coordinates: [lng, lat],
},
// maxDistance: 13.3333 * 1000,
spherical: true,
distanceField: "distance",
distanceMultiplier: 0.001,
query: { _id: req.params.id },
},
},
{ $project: { id: 1, distance: 1 } },
]);
答案 0 :(得分:0)