objective-cとネイティブツールを使ってmacアプリケーションを開発しています。私はmongodbのドキュメントベースの実装が大好きで、私はそれをアプリケーション用のデータを格納するために使用する予定です(データは、音楽トラックのタイトル、それに付随するメタデータとほぼ同じです)。このアプリケーションの目的は、ユーザーがデータベースのデータベース・バージョンをローカル・バージョンに同期できるようにすることです。そして、常に自分のコンピュータにローカルバージョンを持つことができるように、インターネットはアプリケーションを使用する必要はありません。しかし、ユーザーがオフラインでローカルデータに変更を加えた場合、オンラインに戻ったときに変更内容がmongodbデータベースに同期化されます。私が抱えている問題は、この問題に対する最良のアプローチを見つけることです。私が今考えることのできる最高のものは、最初にデータベースからデータを取り出し、データベース内の各「音楽トラック」エントリのローカルコピーをシリアル化することです。したがって、オフラインの場合、問題はこれらのシリアル化されたオブジェクトからデータを取り込みます。ユーザーがオフラインでデータを追加/変更した場合、変更が記録され、ユーザーがオンラインに戻ったときにmongodbデータベースにプッシュされるのを待ちます。 mongodbデータベースのすべてのエントリにはタイムスタンプが付けられるため、アプリケーションがオンラインで数秒ごとに実行されているときに、アプリケーションはローカルコピーとリモートコピーのタイムスタンプを比較して変更が行われたかどうかを確認し、それに応じて更新できます。mongodbデータベースとローカルシリアライズ版の同期に最適なアプローチ
これは、mongodbデータベースからリモートでローカルにデータを同期するのに適していますか?
あなたの要件は、CouchDBのでサポートされてできました。これはmongodbのようなjsonドキュメントのデータベースですが、自動レプリケーションと同期があります。 mongodbが本当に必要でないなら、あなたはそれを考慮したいかもしれません。 – Rudy