带有WHERE语句的MongoDB随机文档

带有WHERE语句的MongoDB随机文档,mongodb,mongoose,Mongodb,Mongoose,我是MongoDB的新手,我遇到了一个问题。 我想选择一个随机文档,但有一个条件。 在SQL中,我会这样做: SELECT * FROM challenges WHERE level = 1 ORDER BY RAND() LIMIT 1 现在我需要在MongoDB中这样做,但我只选择了一个随机值 Challenge.aggregate({ $sample: {size:1} }, 如何添加WHERE语句,我只在challenge.find中看到过,但我已经在聚合了 我们将非

我是MongoDB的新手,我遇到了一个问题。 我想选择一个随机文档,但有一个条件。 在SQL中,我会这样做:

SELECT * FROM challenges
WHERE level = 1
ORDER BY RAND()
LIMIT 1
现在我需要在MongoDB中这样做,但我只选择了一个随机值

Challenge.aggregate({
        $sample: {size:1}
},
如何添加WHERE语句,我只在challenge.find中看到过,但我已经在聚合了

我们将非常感谢您的任何帮助。

aggregate have$match子句。那是你的位置。
 Challenge.aggregate([
 {
   $match:{
     field1: condition1,
     field2: condition2
   }
 },
 {
    $sample: {size:1}
 }
])