我正在开发一个移动应用程序,该应用程序定期跟踪用户的位置,以允许他在地图上绘制旅程的路径。我们想添加一个可选功能,该功能将告诉他该应用程序的其他用户在他所查看的时间范围内进行了类似的旅程,无论是今天的通勤时间还是旅行的最后一个月。我们将其称为“路径匹配”。
这些数据目前以二进制格式记录到 iOS 和 Android 上应用程序的私有存储目录中的文件中,可以轻松快速地扫描以读取位置。每个文件包含一天的位置,一般运行到 80KB 左右。
为了能够实现路径匹配功能,我们显然需要开始将这些位置日志上传到我们正在运行 PHP 的服务器(当然需要用户许可)。有人建议 MongoDB 的地理空间能力 - 但我有几个问题也许人们可以帮助我:
似乎我们可以更改我们的位置记录以使用 BSON。第一个字段是设备或用户 ID,然后是特定日期的位置列表。然后可以将该文件上传到我们的服务器并推送到 MongoDB 存储中。然而,在线文档似乎只涉及导入由 mongodump 创建的 BSON 文件。格式是否足够稳定,任何应用程序都可以编写 MongoDB 直接读取的 BSON 文件?
MongoDB 是否能够对包含多个位置的文档或在形成跨多个文档的路径的位置运行地理空间查询?或者这是否让您觉得在 PHP 方面需要数据库之外的过多逻辑?