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

Want to display all documents if a variable is passed blank or null in mongoDB

以下是我在PeopleCollection

中的数据
{
  name : 'John Doe',
  gender : 'male'
},
{
  name : 'Emma',
   gender : 'female'
}
{
  name : 'Mr. Smith',
  gender : 'male'
}

如果我 运行 使用

进行如下查询
`variable = male`

`people.aggregate.([
 {
   $match : {
      gender : variable
  }
 }
])`

然后显示variable = male的所有文件,女性也一样。

但是如果出现某种情况,比如我必须同时显示 gendersMaleFemale 并且我也不想编写另一个查询和变量传递 blanknull 值,那么在那种情况下我应该如何显示所有带有 malefemale 的文档。

我在后端使用 moongoose 库。 出于某种原因,我不想使用 .find()

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

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