gpt4 book ai didi

javascript - 其中条件作为结果中的变量

转载 作者:太空宇宙 更新时间:2023-11-03 22:35:02 25 4
gpt4 key购买 nike

现在我有一个使用地理空间数据的 Moongose 查询:

Locations.find({
loc: {
$geoWithin: {
$centerSphere: [[lng, lat], radius / 6378.1],
},
}
}, cb);

它工作得很好,但我的问题是如何获取所有 Location 文档,其中每个文档都有一个 bool 变量,显示该特定文档是否位于 where 子句的指定圆圈内。

最佳答案

您可以使用聚合 $project 执行类似的操作阶段,将条件投影为结果文档中的附加字段。不幸的是,没有为聚合框架定义 GeoSpatial 运算符,因此您无法在单个 MongoDB 查询中实现您的目标。

如果您可以进行两个查询,您可以尝试以下选项:

db.locations.aggregate([
{$match: {
loc: {
$geoWithin: {
$centerSphere: [[lng, lat], radius / 6378.1],
},
}
}
},
{$project:
{
...
// all of your fields
...
isWithin: true
}
}
])

并反向执行相同的操作,以匹配不在其中的文档,并将 isWithin 设置为 false。这将人为地为您带来您想要的结果。

关于javascript - 其中条件作为结果中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30781125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com