geoSearch
¶该geoSearch
命令提供了MongoDB 干草堆索引功能的接口。这些索引对于在
基于其他查询(例如“干草堆”)收集结果后,根据位置坐标返回结果很有用。
领域 | 类型 | 描述 |
---|---|---|
geoSearch |
串 | 要查询的集合。 |
search |
文献 | 查询以过滤文档。 |
near |
数组 | 一个点的坐标。 |
maxDistance |
数 | 可选的。距指定点的最大距离。 |
limit |
数 | 可选的。返回的最大文件数。 |
readConcern |
文献 | 可选的。指定读取关注。 从MongoDB 3.6开始,readConcern选项具有以下语法: 可能的阅读关注级别为:
有关阅读关注级别的更多信息,请参阅 阅读关注级别。 有关已读关注级别的更多信息,请参阅已 读关注级别。 |
重要
在大多数情况下,与单文档写入相比,多文档事务产生的性能成本更高,并且多文档事务的可用性不应代替有效的架构设计。在许多情况下, 非规范化数据模型(嵌入式文档和数组)对于您的数据和用例将继续是最佳的。也就是说,在许多情况下,对数据进行适当的建模将最大程度地减少对多文档交易的需求。
有关其他事务使用方面的注意事项(例如运行时限制和oplog大小限制),另请参见 生产注意事项。
考虑以下示例:
以上命令返回用的所有文件type
的
restaurant
具有6个单元从坐标的最大距离在收集到最大的30个结果的。[ -73.9667, 40.78 ]
places
要覆盖默认的阅读关注级别"local"
,请使用readConcern
选项。
对副本集的以下操作指定“
读取关注点”,"majority"
以读取已确认已写入大多数节点的数据的最新副本。
注意
若要使用关注级别"majority"
,副本集必须使用WiredTiger存储引擎。
您可以"majority"
为具有三名成员的主次仲裁器(PSA)架构的部署禁用读取关注。但是,这对变更流(仅在MongoDB 4.0和更早版本中)和分片群集上的事务有影响。有关更多信息,请参见禁用多数阅读关注。
无论读关注级别如何,节点上的最新数据都可能无法反映系统中数据的最新版本。
为确保单个线程可以读取其自己的写入,"majority"
请对"majority"
副本集的主数据库使用
读取关注和写入关注。