sql >> データベース >  >> NoSQL >> MongoDB

MongoDBからのランダムレコード

    MongoDBの3.2リリース以降、$sampleを使用して、コレクションからN個のランダムなドキュメントを取得できます。 集約パイプライン演算子:

    // Get one random document from the mycoll collection.
    db.mycoll.aggregate([{ $sample: { size: 1 } }])
    

    コレクションのフィルタリングされたサブセットからランダムなドキュメントを選択する場合は、$matchを先頭に追加します パイプラインへのステージ:

    // Get one random document matching {a: 10} from the mycoll collection.
    db.mycoll.aggregate([
        { $match: { a: 10 } },
        { $sample: { size: 1 } }
    ])
    

    コメントに記載されているように、size が1より大きい場合、返されたドキュメントサンプルに重複がある可能性があります。



    1. PooledRedisClientManagerが接続を解放しない

    2. MongoDB {aggregation$match}と{find}の速度

    3. mongoシェル内でMongoクエリ出力をファイルに出力する

    4. Redisで複数のキーの名前を変更する方法