私は、ユーザーの位置を定期的に追跡して、ユーザーが地図上に旅の経路をプロットできるようにするモバイルアプリに取り組んでいます。今日の通勤であれ、先月の旅行であれ、アプリの他のユーザーが見ている時間枠で同様の旅をしたことを知らせるオプション機能を追加したいと思います。これを「パスマッチング」と呼んでいます。
データは現在、iOSとAndroidのアプリのプライベートストレージディレクトリ内のファイルにバイナリ形式でログインしており、簡単かつ迅速にスキャンして場所を読み取ることができます。各ファイルには1日の場所が含まれており、通常は約80KBまで実行されます。
パスマッチング機能を実装できるようにするには、明らかに、PHPを実行しているサーバー(もちろんユーザーの許可を得て)にこれらのロケーションログのアップロードを開始する必要があります。誰かがその地理空間の腕前のためにMongoDBを提案しました-しかし、私はおそらく人々が私を助けることができるいくつかの質問があります:
代わりにBSONを使用するようにロケーションロギングを変更できるようです。最初のフィールドはデバイスまたはユーザーIDで、その後に特定の日の場所のリストが続きます。その後、ファイルをサーバーにアップロードして、MongoDBストアにプッシュすることができます。ただし、オンラインドキュメントでは、mongodumpによって作成されたBSONファイルのインポートについてのみ言及しているようです。フォーマットは十分に安定しているので、どのアプリでもMongoDBで直接読み取り可能なBSONファイルを書き込むことができますか?
MongoDBは、複数の場所を含むドキュメント、または複数のドキュメントにまたがるパスを形成する場所で地理空間クエリを実行できますか?それとも、これは、PHP側で、データベースの外部に過剰なロジックを必要とするものとしてあなたを襲いますか?