返された結果をスキップする
このバージョンのドキュメントはアーカイブされており、サポートされなくなりました。 Node.js ドライバー のバージョンをアップグレードする 方法については、 現在のドキュメント を表示します。
Overview
読み取り操作で返されるドキュメントのリストの先頭からドキュメントを除外するには、 skip
を使用します。 skip
とソートを組み合わせて、特定のクエリの上位(降順)または下位(昇順)の結果を省略できます。 ソートがない場合に返されるドキュメントの順序は保証されないため、 sort
を使用せずにskip
を使用すると、任意のドキュメントが省略されます。
skip
の値がクエリに一致するドキュメントの数を超える場合、そのクエリはドキュメントを返しません。
サンプル ドキュメント
このガイドの例えに従うには、次のコード スニペットを使用して、結果を説明するドキュメントをmyDB.fruits
コレクションに挿入します。
const myDB = client.db("myDB"); const myColl = myDB.collection("fruits"); await myColl.insertMany([ { "_id": 1, "name": "apples", "qty": 5, "rating": 3 }, { "_id": 2, "name": "bananas", "qty": 7, "rating": 1 }, { "_id": 3, "name": "oranges", "qty": 6, "rating": 2 }, { "_id": 4, "name": "avocados", "qty": 3, "rating": 5 }, ]);
注意
クエリ操作により、一致するドキュメントを含むカーソルへの参照が返される場合があります。カーソルに格納されているデータを調べる方法については、「カーソルの基礎ページ」を参照してください。
例
次の例では、すべてのドキュメントに一致するフィルターを使用してコレクションをクエリし、クエリsort
skip
オプションとして コマンドと コマンドを指定するオプションを渡します。ソート オプションは、評価の高いツリー ドキュメントが、評価の低いドキュメントの前に返されるよう指定します。 skip オプションは、最初の 2 つのドキュメントを結果から除外することを指定します。
// define an empty query document const query = {}; const options = { // sort in descending (-1) order by rating sort : { rating: -1 }, // omit the first two documents skip : 2, } const cursor = myColl.find(query, options); for await (const doc of cursor) { console.dir(doc); }
最初の2
ドキュメントをスキップするように指定したため、評価の高い 3 番目と 4 番目のドキュメントは、上記のコード スニペットによって出力されます。
{ "_id": 3, "name": "oranges", "qty": 6, "rating": 2 } { "_id": 2, "name": "bananas", "qty": 7, "rating": 1 }
sort
オプションとskip
オプションは、 find
メソッドに連結されたメソッドとして指定することもできます。 次の 2 つのコマンドは同等です。
myColl.find(query, { sort: { rating: -1}, skip: 2}); myColl.find(query).sort({rating: -1}).skip(2);