

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

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

Baru dari versi 8.0.1.

Tidak didukung oleh cluster Elastic.

`$sampleRate`Operator di Amazon DocumentDB mencocokkan sampel acak dari dokumen input berdasarkan tarif yang ditentukan. Anda dapat menggunakannya dalam filter `find()` kueri atau dalam `$match` tahap agregasi. Karena seleksi bersifat probabilistik, jumlah dokumen yang dikembalikan adalah perkiraan dan dapat bervariasi antara proses.

**Parameter**
+ `value`: Angka dalam rentang `[0, 1]` (inklusif), diteruskan langsung ke operator (misalnya,`{ $sampleRate: 0.3 }`), yang menetapkan probabilitas memasukkan setiap dokumen. Nilai pengem `0` balian tidak ada dokumen; nilai `1` mengembalikan semua dokumen.

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

Contoh berikut digunakan `$sampleRate` untuk mengembalikan sekitar 30 persen dokumen dalam koleksi.

**Buat dokumen sampel **

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

**Contoh kueri **

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

**Keluaran **

Operasi mengembalikan subset acak dari dokumen. Karena `$sampleRate` probabilistik, dokumen tertentu dikembalikan dan hitungannya bervariasi setiap kali kueri berjalan.

## Contoh kode
<a name="sampleRate-code"></a>

Untuk melihat contoh kode untuk menggunakan `$sampleRate` perintah, pilih tab untuk bahasa yang ingin Anda gunakan:

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

------