

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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

バージョン 8.0.1 から新規。

Elastic クラスターではサポートされていません。

Amazon DocumentDB の`$sampleRate`演算子は、指定されたレートに基づいて入力ドキュメントのランダムなサンプルに一致します。`find()` クエリフィルターまたは集約`$match`ステージで使用できます。選択は確率的であるため、返されるドキュメントの数は概算であり、実行ごとに異なる場合があります。

**パラメータ**
+ `value`: 演算子 `[0, 1]` ( など) に直接渡される範囲 ( を含む`{ $sampleRate: 0.3 }`) の数値。各ドキュメントを含める確率を設定します。の値はドキュメントを`0`返さず、 の値はすべてのドキュメント`1`を返します。

## 例 (MongoDB シェル)
<a name="sampleRate-examples"></a>

次の例では`$sampleRate`、 を使用して、コレクション内のドキュメントの約 30% を返します。

**サンプルドキュメントを作成する**

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

**クエリの例**

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

**出力**

オペレーションはドキュメントのランダムなサブセットを返します。`$sampleRate` は確率的であるため、返される特定のドキュメントとその数はクエリが実行されるたびに異なります。

## コードの例
<a name="sampleRate-code"></a>

`$sampleRate` コマンドを使用するコード例を表示するには、使用する言語のタブを選択します。

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

------