

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# $sampleRate
<a name="sampleRate"></a>

Novo na versão 8.0.1.

Não é suportado pelo cluster elástico.

O `$sampleRate` operador no Amazon DocumentDB combina uma amostra aleatória dos documentos de entrada com base na taxa especificada. Você pode usá-lo em um filtro de `find()` consulta ou em um `$match` estágio de agregação. Como a seleção é probabilística, o número de documentos devolvidos é aproximado e pode variar entre as execuções.

**Parâmetros**
+ `value`: um número no intervalo `[0, 1]` (inclusive), passado diretamente para o operador (por exemplo,`{ $sampleRate: 0.3 }`), que define a probabilidade de incluir cada documento. Um valor de `0` retorna nenhum documento; um valor de `1` retorna todos os documentos.

## Exemplo (MongoDB Shell)
<a name="sampleRate-examples"></a>

O exemplo a seguir é usado `$sampleRate` para devolver aproximadamente 30% dos documentos em uma coleção.

**Crie documentos de amostra **

```
db.events.insertMany([
  { _id: 1, type: "click" },
  { _id: 2, type: "view" },
  { _id: 3, type: "click" },
  { _id: 4, type: "view" },
  { _id: 5, type: "purchase" }
]);
```

**Exemplo de consulta **

```
db.events.aggregate([
  { $match: { $sampleRate: 0.3 } }
]);
```

**Saída**

A operação retorna um subconjunto aleatório dos documentos. Por ser `$sampleRate` probabilístico, os documentos específicos retornados e sua contagem variam sempre que a consulta é executada.

## Exemplos de código
<a name="sampleRate-code"></a>

Para ver um exemplo de código para usar o `$sampleRate` comando, escolha a guia do idioma que você deseja usar:

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

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

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

  try {
    await client.connect();
    const db = client.db('test');
    const collection = db.collection('events');

    // Return approximately 30% of the documents
    const result = await collection.aggregate([
      { $match: { $sampleRate: 0.3 } }
    ]).toArray();

    console.log(result);
  } finally {
    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')

    try:
        db = client['test']
        collection = db['events']

        # Return approximately 30% of the documents
        result = list(collection.aggregate([
            { '$match': { '$sampleRate': 0.3 } }
        ]))

        print(result)
    finally:
        client.close()

example()
```

------