1

これは、最初に考えるよりも少しトリッキーです。あるいは、問題を考えすぎているだけかもしれません。

MongoDB から (2 つの) ランダムなドキュメントを取得する方法は次のとおりです。

Character
  .find({ random: { $near: [Math.random(), 0] } })
  .where('voted', false)
  .limit(2)
  .exec(function(err, characters) {
    res.send({ characters: characters });
  }
});

追加したいのは、性別による検索です。各ドキュメントにはすでに、値がfemaleまたはmaleに設定された性別フィールドがあります。つまり、性別フィールドが一致する 2 つのランダムなドキュメントを用意してください。

: ランダムな女性 2 人、ランダムな男性 2 人、ランダムな男性 2 人、ランダムな女性 2 人など...

MongoDB からランダム ドキュメントを取得する方法の詳細については、http: //cookbook.mongodb.org/patterns/random-attribute/を参照してください。

4

1 に答える 1