mongoose find 可选查询
Library.find({category:category,subCategory:subCategory},(err,library)=>{
if(err){
console.log(err);
}
res.json({library})
})********
上面 的代码 如果我想 subCategory 前端没传我就不查询这个字段,传了就查询 怎么写呢 ,谢谢各位了 我想到的是之前在外面加一层判断
if(subCategory){
....
}else{
...
}
但这样有点别扭啊
12 回复
没人来解答 ^_^
我会
e
@xiaoyu311 求解答啊
var where={category:“abc”},subCategory=“343”; console.dir((subCategory&&(where[“subCategory”]=“abc”),where));
用正则啊
三元运算符即可
@godghdai 报错了
@Torres5000 怎么正则
试试query.method?
在schema里扩展
LibrarySchema.query.andCategory = function (category) {
if (category) return this.where({ category });
return this;
}
LibrarySchema.query.andSubCategory = function (subCategory) {
if (subCategory) return this.where( { subCategory } );
return this;
}
Library.find().andCategory(category).andSubCategory(subCategory).then(result => {
// handle record
});
@Matrixbirds 谢谢,