2011-12-30 7 views
1

MongoDBに最新の挿入されたドキュメントを問い合わせて、分単位で実行するためのヘルプを探しています。MongoDBから1分ごとに最新の挿入レコードを取得する方法は?

+2

ジャーナルログまたはレプリケーションログを通過するのに時間がかからない場合は、挿入タイムスタンプフィールドが必要です。また、ObjectIDを_idフィールドとして使用する必要があります(タイムスタンプも付いています)。 – Thilo

答えて

2

Thiloは要点を持っていました。

最新の「トップレベルのドキュメント」(テーブル/コレクションがあるもの)を取得する必要がある場合は、タイムスタンプが付けられているのでObjectIdの値を使用するか、ドキュメント自体にタイムスタンプフィールドを追加できます。

埋め込みドキュメント(たとえば、オーダーのアイテム)をタイムスタンプする必要がある場合、埋め込みコレクションが「トップレベルのドキュメント」ではないため、ObjectIdを使用することはできません。

タイムスタンプが項目が送信された「実際の注文」と必ずしも一致しない可能性があるため、レコードがどのように挿入されるかの問題を調べることができます。

また、トップレベルのドキュメントのObjectIdのタイムスタンプが、更新されたとき(埋め込みコレクションの新しいアイテム)に変更されるかどうかを確認してください。

疑問がある場合は、タイムスタンプフィールドを追加し、それらのクエリを書き込んでください。

関連する問題