4

是否可以在 mongoDB 中使用地理空间索引将 lat 和 long 坐标作为集合中的分片键?如果没有,您能否建议任何有效的方法来根据位置计算应用服务器上的分片键?

4

1 回答 1

10

不能使用地理空间索引作为分片键索引。

请参阅此处的“重要”说明:http: //docs.mongodb.org/manual/core/2d/#d-indexes

重要的; 对集合进行分片时,不能使用 2d 索引作为分片键。但是,您可以使用不同的字段作为分片键,在分片集合上创建和维护地理空间索引。

您也不能使用数组字段作为分片键。因此,您可以做到的唯一方法是将您的位置存储两次,一次作为二维索引地理位置数组,再次作为两个常规字段,您可以在其上创建普通复合索引,然后在该复合键上进行分片。

但是,由于分片键是不可变的,因此请确保您的位置字段是最终字段 - 即它在创建时始终是已知的并且无法更改。

于 2013-05-05T19:20:10.133 回答