

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

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

Nuevo desde la versión 8.0.1.

Elastic Cluster no lo admite.

El `$sampleRate` operador de Amazon DocumentDB compara una muestra aleatoria de los documentos de entrada en función de la tasa especificada. Puede usarlo en un filtro de `find()` consultas o en una `$match` etapa de agregación. Como la selección es probabilística, la cantidad de documentos devueltos es aproximada y puede variar de una tirada a otra.

**Parámetros**
+ `value`: un número del rango `[0, 1]` (incluido), que se pasa directamente al operador (por ejemplo,`{ $sampleRate: 0.3 }`), que establece la probabilidad de incluir cada documento. El valor de no `0` devuelve ningún documento; el valor de `1` devuelve todos los documentos.

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

El siguiente ejemplo se utiliza `$sampleRate` para devolver aproximadamente el 30 por ciento de los documentos de una colección.

**Cree documentos de muestra **

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

**Ejemplo de consulta **

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

**Salida**

La operación devuelve un subconjunto aleatorio de los documentos. Como `$sampleRate` es probabilístico, los documentos específicos devueltos y su recuento varían cada vez que se ejecuta la consulta.

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

Para ver un ejemplo de código sobre el uso del `$sampleRate` comando, elija la pestaña correspondiente al idioma que desee utilizar:

------
#### [ 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()
```

------