3

mongoDB の大規模なコレクションを操作する場合、ドキュメントのセット全体ではなくサンプルの分析を行うと役立つことがよくあります。これを行う明確な方法の 1 つは、ObjectId を整数にマッピングするハッシュ関数を介して実行し、$mod を使用してドキュメントのサブサンプルを選択することです。

重要なポイントは、効果的にランダムな方法でドキュメントのサンプルを抽出することです。セットへの選択は、私たちが気にする可能性のある他のものと相関していません。

これを行う良い方法はありますか?クエリが高速な場合のボーナス ポイント。

PS:ランダム属性のアプローチは知っていますが、ストレージ スペースを浪費するのであまり好きではありません。

4

1 に答える 1

0

コレクション内のドキュメントのすべての objectId を配列で取得し、配列を並べ替えてから、その配列内のランダムなインデックス位置を選択できませんでしたか?

于 2013-02-11T19:48:40.070 に答える