sql >> データベース >  >> NoSQL >> MongoDB

MongoDB:カーソルを使用してすべてのデータを反復処理することはできません

    一般的に、はい。単調なフィールド、理想的にはインデックス付きのフィールドがある場合は、それに沿って歩くことができます。たとえば、タイプObjectIdのフィールドを使用している場合 主キーとして、またはCreatedDateがある場合 または何か、あなたは単に$ltを使うことができます クエリを実行し、固定数の要素を取得してから、$ltを使用して再度クエリを実行します 最小の_idの またはCreatedDate 前のバッチで遭遇しました。

    厳密な単調な動作と非厳密な単調な動作に注意してください。$lteを使用する必要がある場合があります。 キーが厳密でない場合は、デュープで2回実行しないようにします。 _id以降 フィールドは一意です。ObjectIds 常に厳密に単調です。

    あなたがそのような鍵を持っていない場合、物事はもう少しトリッキーです。 'インデックスに沿って'を繰り返すことができます(名前、ハッシュ、UUID、Guidなどのインデックスが何であれ)。これも同様に機能しますが、トラバースを開始する前に、見つけた結果が挿入されたかどうかがわからないため、スナップショットを作成するのは困難です。また、トラバーサルの開始時にドキュメントが挿入されると、それらは失われます。




    1. マングースでは、日付で並べ替えるにはどうすればよいですか? (node.js)

    2. Mongo db c#ドライバー-コレクションにIDで参加する方法は?

    3. 1回の呼び出しで複数のMongoDBドキュメントを作成および更新します

    4. マングースの関係と外部キーを理解する