MongoDB 地理空间命令

MongoDB 地理空间命令

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

Haystack索引: 它通过将对象分组为桶来增加搜索的效率,这些桶由第二个标准分组。

MongoDB geoSearch命令

geoSearch命令加载了一个接口,可以用于MongoDB的Haystack索引功能。它用于在根据一些不同的查询(如Haystack)收集结果之后返回基于位置的结果。

语法:

db.runCommand({
   geoSearch : "read",
   near: [ -73.9667, 40.78 ],
   maxDistance : 6,
   search : { type : "tutorial" },
   limit : 30
})

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

字段 | 数据类型 | 描述
—|—|—
geoSearch | string | 它是要在其上执行地理搜索的集合的名称
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 })

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

覆盖默认的读关注级别

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

db.runCommand(
   {
      geoSearch: "places",
      near: [ -73.9667, 40.78 ],
      search : { type : "book store" },
      readConcern: { level: "majority" }
    }
)

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程