我根据过滤器构建了一个搜索聚合。用户可以搜索的东西是可选的,那么有没有办法使匹配可选 - 例如用户可以选择日期,如果他没有选择,我希望聚合函数不使用匹配日期
echo "export PATH=$PATH:/path/to/your/latest/node/bin/node" >> ~/.bashrc;
如果没有选择日期=>取消日期匹配并匹配其他人
答案 0 :(得分:2)
我会尝试动态构建查询文档。
var query = []
if (userSelectedDate){
query.push({ $match : { date : userSelectedDate }})
db.articles.aggregate(query)
答案 1 :(得分:0)
解决方案是在mongoose文档中使用:Aggregate#append(ops)
将新运算符追加到此聚合管道 有了汇总后
aggregate.append({ $project: { field: 1 }}, { $limit: 2 });
所以现在我可以在追加
之前使用if(条件)