2016-07-25 4 views
1

を濾過した後、私はどうなる、のは、私は彼らがに接続していない人を見つけるために人をしたいとしましょう:

User.find({ _id: { $nin: req.user.connections }) 

しかし、私は唯一のリターンから最大で10件のランダムなドキュメントを取得したいです。 MongoDBのでは、$サンプルがあります:

{ $sample: { size: <positive integer> } } 

私は前にモンゴを使ったことがないので、私はどのように私は現在のユーザが接続されていない10のランダムな人々を取得するためにチェーン一緒にこれら二つのわかりませんよ。

答えて

5

$sampleは、あなたがそのチェーン2つの操作を一緒にaggregateパイプラインを作成する必要があるので、集計演算子である:

User.aggregate([ 
    { $match: { _id: { $nin: req.user.connections } } }, 
    { $sample: { size: 10 } } 
]) 
関連する問題