4

我需要在 mongodb 中保存经度/纬度坐标,但我不知道如何存储它们。我没有看到在线显示转换为字符串或将小数部分拆分为 2 个整数的示例。我假设为了启用地理索引,我必须将它们存储为双精度,例如:

{ _id : 100, pos: { long : 126.9, lat : 35.2 }, type : "restaurant"}

我需要至少 6 位小数的精度,那么这在 mongodb 中是如何工作的?

4

2 回答 2

7

MongoDB支持double数据类型。它用于所有浮点数。由于 MongoDB 实现了 BSON 规范,我们可能会认为它是 BSON double 的两倍。这是8 bytes (64-bit IEEE 754 floating point)根据规范它支持15-17 位有效数字。

所以别担心。

于 2013-01-29T19:20:22.820 回答
4

MongoDB 的地理空间索引使用传统的geohash。您可以将哈希的精度配置为高达 32bits,这相当于大约 8 或 9 位小数的精度。所以你会从双打中失去一些精度,但对于你的应用来说仍然很多。

于 2013-01-29T19:37:32.713 回答