Хотите отобразить все документы, если переменная передана пустой или нулевой в mongoDB - PullRequest
0 голосов
/ 02 апреля 2020

Ниже приведены мои данные в People Коллекции

{
  name : 'John Doe',
  gender : 'male'
},
{
  name : 'Emma',
   gender : 'female'
}
{
  name : 'Mr. Smith',
  gender : 'male'
}

Если я выполню запрос, как показано ниже, с

`variable = male`

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

, тогда будут показаны все документы с variable = male, то же самое относится и к женскому.

Но если возникает условие, как будто я должен отобразить и genders, Male и Female, и я также не хочу писать другой запрос и проходы переменных blank или null значение, то как мне отобразить все документы с male и female в этом сценарии.

Я использую библиотеку Moon goose в бэкэнде. И по какой-то причине я не хочу использовать .find()

1 Ответ

1 голос
/ 02 апреля 2020

Объект, переданный в стадию $match или метод find, может быть построен заранее, который вы можете построить условно на основе переменного содержимого

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