sql >> データベース >  >> NoSQL >> MongoDB

MongoDB-クエリの結果を制限する

    limit()を使用して、必要な数のドキュメントのみを返します メソッド。

    MongoDBでは、limit()を使用できます カーソルが返すドキュメントの最大数を指定するメソッド。

    db.collection.find()を使用してコレクションをクエリする場合 メソッドには、limit()を追加できます 制限を指定します。

    まず、なしでクエリを実行しましょう。 制限(返されるドキュメントの数を確認できるようにするため):

    制限なし

    db.artists.find( { albums: { $exists: false }} )

    結果:

    { "_id" : ObjectId("5780fbf948ef8c6b3ffb0149"), "artistname" : "The Tea Party" }
    { "_id" : ObjectId("5781c9ac48ef8c6b3ffb014a"), "artistname" : "Jorn Lande" }
    { "_id" : 1, "artistname" : "AC/DC" }
    { "_id" : ObjectId("5781d7f248ef8c6b3ffb014d"), "artistname" : "The Kooks" }
    { "_id" : ObjectId("5781d7f248ef8c6b3ffb014e"), "artistname" : "Bastille" }
    { "_id" : ObjectId("5781d7f248ef8c6b3ffb014f"), "artistname" : "Gang of Four" }
    

    制限付き

    では、結果を3つのドキュメントに限定しましょう:

    db.artists.find( { albums: { $exists: false }} ).limit(3)

    結果:

    { "_id" : ObjectId("5780fbf948ef8c6b3ffb0149"), "artistname" : "The Tea Party" }
    { "_id" : ObjectId("5781c9ac48ef8c6b3ffb014a"), "artistname" : "Jorn Lande" }
    { "_id" : 1, "artistname" : "AC/DC" }
    

    クエリでは、$existsを使用しています フィールドの存在を確認する演算子。この場合、 アルバム を持っているアーティストは除外されます ドキュメントのフィールド。

    これは、{ $exists: true }に簡単に切り替えることができます。 アルバム を持つアーティストのみを含める フィールド。

    skip()を追加します 方法

    skip()を使用できます カーソル内のドキュメントにスキップするメソッド。つまり、MongoDBが結果を返し始める場所を制御できます。

    db.artists.find( { albums: { $exists: false }} ).limit(3).skip(1)

    結果:

    { "_id" : ObjectId("5781c9ac48ef8c6b3ffb014a"), "artistname" : "Jorn Lande" }
    { "_id" : 1, "artistname" : "AC/DC" }
    { "_id" : ObjectId("5781d7f248ef8c6b3ffb014d"), "artistname" : "The Kooks" }
    

    したがって、最初の結果をスキップしたものの、3つのドキュメントが返されたことがわかります。

    skip()に注意してください すべてのクエリで使用できます(limit()のクエリだけでなく、 。

    たとえば、このページの上部にあるクエリは6つのドキュメントを返しました。 skip(3)を追加すると 、最後の3つのドキュメントになります:

    db.artists.find( { albums: { $exists: false }} ).skip(3)

    結果:

    { "_id" : ObjectId("5781d7f248ef8c6b3ffb014d"), "artistname" : "The Kooks" }
    { "_id" : ObjectId("5781d7f248ef8c6b3ffb014e"), "artistname" : "Bastille" }
    { "_id" : ObjectId("5781d7f248ef8c6b3ffb014f"), "artistname" : "Gang of Four" }
    

    1. サーバーJSでパーシャルの読み込みに失敗する

    2. 接続の管理

    3. mongo.lockファイルの用途は何ですか?

    4. MongoDBドキュメントからフィールドを完全に削除するにはどうすればよいですか?