

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# $Frequenza di campionamento
<a name="sampleRate"></a>

Nuovo dalla versione 8.0.1.

Non supportato da Elastic Cluster.

L'`$sampleRate`operatore in Amazon DocumentDB corrisponde a un campione casuale dei documenti di input in base alla frequenza specificata. Puoi utilizzarlo in un filtro di `find()` interrogazione o in una fase di aggregazione. `$match` Poiché la selezione è probabilistica, il numero di documenti restituiti è approssimativo e può variare tra le esecuzioni.

**Parametri**
+ `value`: un numero compreso nell'intervallo `[0, 1]` (incluso), passato direttamente all'operatore (ad esempio`{ $sampleRate: 0.3 }`), che imposta la probabilità di includere ogni documento. Un valore di non `0` restituisce alcun documento; un valore di `1` restituisce tutti i documenti.

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

L'esempio seguente viene utilizzato `$sampleRate` per restituire circa il 30 percento dei documenti in una raccolta.

**Crea documenti di esempio **

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

**Esempio di interrogazione **

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

**Output**

L'operazione restituisce un sottoinsieme casuale dei documenti. Poiché `$sampleRate` è probabilistico, i documenti specifici restituiti e il loro numero variano ogni volta che viene eseguita la query.

## Esempi di codice
<a name="sampleRate-code"></a>

Per visualizzare un esempio di codice per l'utilizzo del `$sampleRate` comando, scegliete la scheda corrispondente alla lingua che desiderate utilizzare:

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

------