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

ある種の行番号をmongodbaggregateコマンド/パイプラインに追加します

    Big Queryのパフォーマンスについてはわかりませんが、これは少なくともオプションです。

    グループ化/プッシュして結果を配列に追加してから、includeArrayIndexで巻き戻すことができます。 このように:

    [
      {$match: {author: {$ne: 1}}},
      {$limit: 10000},
      {$group: {
        _id: 1,
        book: {$push: {title: '$title', author: '$author', copies: '$copies'}}
      }},
      {$unwind: {path: '$book', includeArrayIndex: 'rownum'}},
      {$project: {
        author: '$book.author',
        title: '$book.title',
        copies: '$book.copies',
        rownum: 1
      }}
    ]
    

    これで、データベースに大量のレコードが含まれていて、ページ分割する場合は、$ skipステージを使用してから、$ limit 10または20、またはページごとに表示したいものを使用して、$skipから数値を追加することができます。行番号にステージングすると、すべての結果をプッシュして列挙しなくても、実際の位置を取得できます。



    1. FastAPIを使用したMongoDb

    2. Redisに代わる埋め込み可能なJavaはありますか?

    3. 値のないRedisストアキー

    4. モンゴ固有のインデックスの大文字と小文字を区別しない