Trouver la correspondance des éléments de tableau dans MongoDB document

Je développe une application web à l'aide de Codeigniter et MongoDB.
Dans la base de données, j'ai reçu un document qui ressemble à ceci:

{
    "_id": {
        "$id": "4f609932615a935c18r000000"
    },
    "basic": {
        "name": "The project"
    },
    "members": [
        {
            "user_name": "john",
            "role": "user",
            "created_at": {
                "sec": 1331730738,
                "usec": 810000
            }
        },
        {
            "user_name": "markus",
            "role": "user",
            "created_at": {
                "sec": 1331730738,
                "usec": 810000
            }
        }
    ]
}

J'ai besoin de rechercher ce document à l'aide de deux user_name et de son rôle. Maintenant, quand je suis en utilisant le code ci-dessous je reçois à la fois. Je veux seulement obtenir des éléments de tableau correspondant à la fois à user_name et de son rôle.

$where = array (

    '_id' => new MongoId ($account_id), 

    'members.user_id' => new MongoId ($user_id),

    'members.role' => $role

);

$this -> cimongo -> where ($where) -> count_all_results ('accounts');