可以解释一下我如何避免这个
MongoDB - find() - imgur链接
MongoDB - (NodeJS) - 基于两个字段的find()。如果NEITHER为空,则从两个字段中查找,如果另一个为空,则只查找一个。
我查看了MongoDB的documentation。我发现的最好的事情就是:
$and : [
{ $or : [ { price : 0.99 }, { price : 1.99 } ] },
{ $or : [ { sale : true }, { qty : { $lt : 20 } } ] }
]
哪个对我没有帮助。
答案 0 :(得分:1)
动态构建查询对象:
var query = {};
if (searchParameters.specialty !== '') {
query.program = searchParameters.specialty;
}
if (searchParameters.state !== '') {
query.state = searchParameters.state;
}
Model.find(query, ...);
(您可能还需要确保至少有一个不为空,否则查询将匹配所有文档)