【发布时间】:2018-08-25 00:14:33
【问题描述】:
我正在使用聚合来返回符合特定条件的用户列表。问题是我从前端得到的变量并不总是设置好的。
所以我必须这样做:
const match = {};
if (status) {
match.status = status;
}
if (startDate && endDate) {
match.createdAt = { $gte: startOfDay(startDate), $lte: endOfDay(endDate) };
}
await User.aggregate([
{
$match: match,
},
]);
有没有办法直接在查询中编写此代码,而不必在聚合外部使用 match 变量?
【问题讨论】:
-
不,你做的就是你做的。
-
唯一的方法是为每个条件创建不同的 api
标签: mongodb mongoose mongodb-query