フィルターを使用して MongoDB から特定のドキュメントを取得する方法


MongoDB とそれに関する私のすべての投稿の完全な概要については、私の overview をチェックしてください.

use the find method to read multiple documents out of MongoDB は可能ですが、そのデータのサブセットのみが必要な可能性が高くなります. find メソッドは 2 つの引数を取ることができ、最初の引数はカーソルによって返されるデータを決定します.この最初の引数は、フィルターではなく「クエリ」と呼ばれることがよくあります.
users というコレクション内の指定されたデータを使用して

{
    "name": "John Doe",
    "email": "[email protected]",
    "admin": false
},
{
    "name": "Jane Doe",
    "email": "[email protected]",
    "admin": false
}



電子メール「 [email protected] 」を持つユーザーのみを取得したい場合は、返されるデータを決定するために MongoDB が使用するいくつかの式を含むオブジェクトを渡すことでこれを行うことができます.

db.users.find({email: "[email protected]"})



戻ります:

{
    "name": "John Doe",
    "email": "[email protected]",
    "admin": false
}



すべての管理者ユーザーを取得するには:

db.users.find({admin: true})



そのデータセットには管理者ユーザーがいないため、何も返されません.

複数のフィールドで照合することもできます.

db.users.find({admin: false, email: "[email protected]"})



戻ります:

{
    "name": "Jane Doe",
    "email": "[email protected]",
    "admin": false
}