3

次のようなクエリがあります。

function getPage(page) {
  return db.messages.aggregate(
    {
      '$group': {
        _id: "$subjectID"
      }
    },
    { '$skip': page * 20 },
    { '$limit' : 20 });
}

subjectIDそのコレクションのどこかにあるとわかっている があるとします。私がやりたいことは、次のようなものを書くことです:

function pageOf(subjectID) {
  return Math.floor(db.messages.aggregate(
    {
      '$group': {
        _id: "$subjectID"
      }
    }).indexOf({__id: subjectID}) / 20);
}

indexOfただし、そのクエリの一部を記述する方法がわかりません。mongodb に何らかの「take while」または「take until」クエリがあるかどうか疑問に思っていましたが、それを実行してからアイテムの数をカウントできます。

4

1 に答える 1