私はMongoDBが初めてで、基本的な要件に対するいくつかの解決策を見つけようとしています。
シナリオは次のとおりです。スケジューラを介して MongoDB に情報を保存するアプリケーションがあります。スケジューラが実行されるたびに、db から最後に挿入されたドキュメントを取得して、次の情報セットを取得するためにリクエストで送信する必要がある最後の情報 ID を取得する必要があります。また、オブジェクトを保存するときは、フィールドの特定の値が db に既に存在するかどうかを検証する必要があります。存在する場合は、そのドキュメントのカウントを更新するか、新しいものを保存する必要があります。
私の質問は次のとおりです。
MongoDB Java ドライバーを使用しています。オブジェクト ID を自分で生成するのが良いですか、それともドライバーまたは MongoDB 自体から生成されたものを使用するのが良いですか?
最後に挿入されたドキュメントを取得して、最後に処理された情報 ID を見つける最良の方法は何ですか?
各挿入の前に列の特定の値を検索すると、何千ものレコードがあるはずなので、アプリケーションのパフォーマンスが心配です。この検証を行う最善の方法は何ですか?
挿入を行うときに 2 つの書き込みについて話している場所をいくつか見ました。1 つはドキュメントをコレクションに書き込み、もう 1 つは最後に挿入されたエントリを追跡するために最終更新として別のコレクションに書き込みます。これは良い方法ですか?通常、リレーショナル データベースではこれを行いません。
生成されたオブジェクト ID が、今後挿入されるすべてのレコードに対して一意であると期待できますか? (リピートできるかどうかは疑問)
ありがとう。