如果在mongoDB中传递的变量为空或null,则要显示所有文档吗

如果在mongoDB中传递的变量为空或null,则要显示所有文档吗,mongodb,mongoose-schema,mongo-shell,Mongodb,Mongoose Schema,Mongo Shell,以下是我在人物集合中的数据 { name : 'John Doe', gender : 'male' }, { name : 'Emma', gender : 'female' } { name : 'Mr. Smith', gender : 'male' } 如果我使用以下方式运行查询 `variable = male` `people.aggregate.([ { $match : { gender : variable } } ])`

以下是我在
人物
集合中的数据

{
  name : 'John Doe',
  gender : 'male'
},
{
  name : 'Emma',
   gender : 'female'
}
{
  name : 'Mr. Smith',
  gender : 'male'
}
如果我使用以下方式运行查询

`variable = male`

`people.aggregate.([
 {
   $match : {
      gender : variable
  }
 }
])`
然后将显示所有
variable=male
的文档,女性文档也是如此

但是如果出现这样的情况,我必须同时显示
性别
男性
女性
,并且我也不想编写另一个查询和变量传递
空白
值,那么在这种情况下,我应该如何显示所有带有
男性
女性
的文档

我在后台使用moongoose库。
由于某些原因,我不想使用
.find()

传递给
$match
阶段或
find
方法的对象可以提前构建,您可以根据变量内容有条件地构建

var query = {};
if (variable) {
  query.gender=variable
}
people.aggregate.([
 {
   $match : query
 }
])

{$gt:''}
将同时匹配
'male'
female
,因此如果
{$gt:'male'}
那么所有类型的
male
文档都将被提交?查询条件是如何确定的?查询条件是基于api的,比如
api/male
=>
应该显示所有的male
api/
=>“应显示男性和女性”