私は mongoDB を初めて使用します。要点は、(編集された) ドキュメントを更新する代わりに、アプリケーション ウィッチのバグが複数の mongoDB エントリをもたらすことに新たに気付いたことです。現在、アプリケーションはオンラインであり、バグに気づき、それに伴うトラブルに対処しようとしています。
次の状況: @mongoDB この構造を含むドキュメントがたくさんあります:
"_id" : ObjectId("4fd9ede5a6b9579f5b000003"),
"USER" : "my_username",
"matchID" : 18809,
"data1" : 2,
"data2" : 1,
"tippDate" : ISODate("2012-06-14T13:57:57Z"),
"data3" : 0
ユーザーがアプリケーションでデータを変更すると、アプリケーションは既存のドキュメントを更新する代わりに、新しいドキュメントを挿入します。
そのように
{
"_id" : ObjectId("4fd9ede5a6b9579f5b000003"),
"USER" : "my_username",
"matchID" : 18809,
"data1" : 2,
"data2" : 1,
"tippDate" : ISODate("2012-06-14T13:57:57Z"),
"data3" : 0
}
{
"_id" : ObjectId("4fd9ede5a6b9579f5b000002"),
"USER" : "my_username",
"matchID" : 18809,
"data1" : 4,
"data2" : 2,
"tippDate" : ISODate("2012-06-14T12:45:33Z"),
"data3" : 0
}
現在、アプリケーション側のバグは解決されていますが、データベースをクリーンアップする必要があります。ゴールは、各ユーザーからの最新の記録/ドキュメントのみを保持することです。1 つの方法は、アプリケーション側でこれを処理することです。1 人のユーザーからすべてのデータを読み込み、日付順に並べ替え、1 人のユーザーからすべてのデータを削除し、最新のエントリを mongoDB に書き戻します。
しかし: mongoDB を MySQL のジョイントで削除のように処理することはできませんか?
どんな種類の助けやヒントもありがとう!