

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# \$1currentOp
<a name="currentOp"></a>

La phase `$currentOp` d'agrégation renvoie des informations sur les opérations en cours dans la base de données. Cette étape est utile pour surveiller les requêtes et les opérations actives dans un pipeline d'agrégation.

**Paramètres**
+ `allUsers`(facultatif) : lorsque ce paramètre est défini sur`true`, renvoie les opérations pour tous les utilisateurs. La valeur par défaut est `false`.
+ `idleConnections`(facultatif) : lorsqu'il est défini sur`true`, inclut les connexions inactives. La valeur par défaut est `false`.
+ `idleCursors`(facultatif) : lorsqu'il est défini sur`true`, inclut des informations sur les curseurs inactifs. La valeur par défaut est `false`.
+ `idleSessions`(facultatif) : lorsque ce paramètre est défini sur`true`, inclut des informations sur les sessions inactives. La valeur par défaut est `true`.
+ `localOps`(facultatif) : lorsqu'il est défini sur`true`, inclut les opérations locales. La valeur par défaut est `false`.

## Exemple (MongoDB Shell)
<a name="currentOp-examples"></a>

L'exemple suivant montre comment utiliser la phase d'`$currentOp`agrégation pour récupérer des informations sur les opérations de lecture actives.

**Exemple de requête**

```
db.aggregate([
  { $currentOp: { allUsers: true, idleConnections: false } },
  { $match: { op: "query" } }
])
```

**Sortie**

```
[
  {
    "opid": "12345",
    "active": true,
    "op": "query",
    "ns": "test.users",
    "secs_running": 2
  }
]
```

## Exemples de code
<a name="currentOp-code"></a>

Pour afficher un exemple de code relatif à l'utilisation de la `$currentOp` commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

------
#### [ Node.js ]

```
const { MongoClient } = require('mongodb');

async function example() {
  const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false');
  const db = client.db('admin');

  const result = await db.aggregate([
    { $currentOp: { allUsers: true, idleConnections: false } },
    { $match: { op: "query" } }
  ]).toArray();

  console.log(result);
  await client.close();
}

example();
```

------
#### [ Python ]

```
from pymongo import MongoClient

def example():
    client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false')
    db = client['admin']

    result = list(db.aggregate([
        { '$currentOp': { 'allUsers': True, 'idleConnections': False } },
        { '$match': { 'op': 'query' } }
    ]))

    print(result)
    client.close()

example()
```

------