MongoDB教程
MongoDB运算符
MongoDB命令
MongoDB数据库
MongoDB Shell
MongoDB云和工具

MongoDB 地理空间

地理空间命令仅包含一个命令,即 geoSearch 。它用于执行利用 MongoDB的干草堆索引功能的地理空间查询。
Haystack index: 通过创建按对象分组的存储桶来增加搜索量第二个标准。

MongoDB geoSearch命令

geoSerach命令加载了可被MongoDB的干草堆索引功能使用的接口。在根据某些不同的查询(例如干草堆)收集结果后,它用于返回基于位置的结果。
语法:
db.runCommand({
   geoSearch : "read",
   near: [ -73.9667, 40.78 ],
   maxDistance : 6,
   search : { type : "tutorial" },
   limit : 30
})
它接受包含以下字段的文档:
字段 类型 说明
geoSearch string 这是您要在其上执行geoSearch的集合的名称。
search document 这是用于过滤文档的查询。
near array 它是我们要进行地理搜索的点的坐标。
maxDistance number 我们可以定义到要执行搜索的最大距离。
Limit number 我们可以限制返回的最大文档数。
readConcern document 我们可以使用以下语法指定阅读关注点;
 readConcern: {level: <value>} 

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

示例

让我们以收集位置示例为例:
db.runCommand( { geoSearch : "location", near: [ -73.96466, 40.78546 ], maxDistance : 8, search : { type : "book store" }, limit : 50 })
以上命令返回所有类型为书店的文档,这些文档距收集位置中距坐标[-73.96466,40.78546]的最大距离为8个单位,最多50个结果。
覆盖默认读取关注级别
我们可以使用读取关注选项覆盖默认读取关注级别。例如:
db.runCommand(
   {
      geoSearch: "places",
      near: [ -73.9667, 40.78 ],
      search : { type : "book store" },
      readConcern: { level: "majority" }
    }
)

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4