View a markdown version of this page

$SampleRate - Amazon DocumentDB

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

$SampleRate

Baru dari versi 8.0.1.

Tidak didukung oleh cluster Elastic.

$sampleRateOperator 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)

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

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()