これは、最初に考えるよりも少しトリッキーです。あるいは、問題を考えすぎているだけかもしれません。
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/を参照してください。