如果变量在 mongoDB 中传递为空白或 null,则想要显示所有文档
Want to display all documents if a variable is passed blank or null in mongoDB
以下是我在People
Collection
中的数据
{
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
的文档。
我在后端使用 moongoose 库。
出于某种原因,我不想使用 .find()
传递给$match
阶段或find
方法的对象可以提前构建,可以根据变量内容有条件地构建
var query = {};
if (variable) {
query.gender=variable
}
people.aggregate.([
{
$match : query
}
])
以下是我在People
Collection
{
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
的文档。
我在后端使用 moongoose 库。
出于某种原因,我不想使用 .find()
传递给$match
阶段或find
方法的对象可以提前构建,可以根据变量内容有条件地构建
var query = {};
if (variable) {
query.gender=variable
}
people.aggregate.([
{
$match : query
}
])