Docs Menu
Docs Home
/ / /
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);

戻る

結果を並べ替える