次のようなクエリがあります。
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」クエリがあるかどうか疑問に思っていましたが、それを実行してからアイテムの数をカウントできます。