MongoDB 地理空间命令

2024年9月6日 | 2 分钟阅读

地理空间命令仅包含一个命令,即 geoSearch。它用于执行利用 MongoDB 的 haystack 索引功能的地理空间查询。

Haystack 索引: 它通过创建按第二个标准分组的对象桶来增加搜索。

MongoDB geoSearch 命令

geoSerach 命令加载了一个界面,可以被 MongoDB 的 haystack 索引功能使用。它用于在收集基于某些不同查询(如 haystack)的结果后返回基于位置的结果。

语法

它接受包含以下字段的文档

字段类型描述
geoSearchstring您要在其上执行 geoSearch 的集合的名称。
searchdocument用于过滤文档的查询。
near数组我们要执行地理搜索的点的坐标。
maxDistance数字我们可以定义要执行搜索的最大距离。
限额数字我们可以限制它将返回的最大文档数量。
readConcerndocument我们可以使用以下语法指定读取关注点;
readConcern: { level: <value> }

可能的读取关注级别是
  • "local": 这是读取操作的默认读取关注级别。
  • "available": 它返回最新的数据。
  • "majority": 它被使用 wiredTiger 存储引擎的副本集使用。
  • "linearizable": 它用于读取操作。

示例

让我们以集合 location 为例

上述命令返回所有类型为书店的文档,这些文档与集合 location 中坐标 [ -73.96466, 40.78546 ] 的最大距离为 8 个单位,最多 50 个结果。

覆盖默认读取关注点

我们可以使用读取关注点选项来覆盖默认的读取关注级别。例如