mongodb - 如何使“$nearSphere”也返回没有任何坐标的项目?
问题描述
我尝试进行$nearSphere
如下查询:
"coordinates":{
"$nearSphere":{
"$geometry":{
"type":"Point",
"coordinates":[7.16,47.13]}}},
问题是它不会返回没有节点“ coordinates
”的文档(即使在列表的末尾)。他们是一种强制$nearSphere
返回没有节点“ coordinates
”节点的文档(在列表末尾)的方法吗?
解决方案
不,不是在单个查询中。
$nearSphere 需要一个地理空间索引。没有坐标的文档被排除在索引之外,基本上对查询不可见。
您可以进行第二个查询以查找所有没有坐标的文档:
.find({"coordinates": {$exists: false}})
并在应用程序级别联合两个游标。
或者,您可以使用 $facet 在单个管道中运行这两个查询,以组合数据库端的结果。
推荐阅读
- ios - NSInvalidArgumentException:Workout_Tracker.QuickAddViewController collectionView:numberOfItemsInSection:]:无法识别的选择器发送到实例
- vba - Excel - 在单独的工作表中输入 A 列的值时,粘贴 2 列引用的 B 列的值
- react-native - Expo React Native - 构建 apk 后组件切换位置/使用 QR 码打开
- vue.js - nuxt 应用程序中的 Vuex 抛出“不要在突变处理程序之外改变 vuex 存储状态”!
- c# - 在 C# 中调用 AWS Lambda 函数
- elasticsearch - 为 json 中的数据选择正确的日期格式
- javascript - CSS 过渡不能在与样式更改相反的方向上工作?
- python - 大熊猫的科学记数法
- ios - 如何处理网络连接问题(Firebase FireStore)?
- typescript - 如何根据接口检查类的静态属性