【发布时间】:2017-06-07 13:45:12
【问题描述】:
我需要存储来自不同用户的 GPS 点(时间戳、经度、纬度)。
我应该有一个单独的用户集合和一个 gps 数据集合吗:
用户
{_id: 1, name: 'A'}
全球定位系统
{_id: 1, userId: 1, timestamp: ..., lon: ..., lat: ...}
{_id: 2, userId: 1, timestamp: ..., lon: ..., lat: ...}
或者我可以将gps数据作为数组保存到相应的用户文档中:
用户
{_id: 1, name: 'A', gps: [
{timestamp: ..., lon: ..., lat: ...}
{timestamp: ..., lon: ..., lat: ...}
]}
我知道选项 2 对 SQL 数据库来说太疯狂了,但我不确定 MongoDB 的性能影响
【问题讨论】:
-
MongoDB 要求位置数据采用经度、纬度
[lon,lat]或 GeoJSON 格式(例如{ "type": "Point", "coordinates": [lon,lat] })的数组格式,以便有效地用于地理空间查询(如果这是一个问题)。即使您不想要地理空间查询,最好还是以这种方式存储。
标签: mongodb