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オプションとして コマンドと コマンドを指定するオプションを渡します。並べ替え オプションでは、 rating値が高い実例ドキュメントが、評価の低いドキュメントの前に返されるように指定されます。 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);

戻る

結果を並べ替える