- khởi tạo các tham số yêu cầu
var year = req.year;
var month = req.month;
- đặt điều kiện năm mặc định
var condition = [{
$eq: [{ $substr: ["$$this.k", 0, 4] }, String(year)]
}];
- kiểm tra xem tháng có còn không và không có tất cả, sau đó thêm điều kiện
if (month && month != "all") {
condition.push({
$eq: [{ $substr: ["$$this.k", 5, 2] }, String(month)]
});
}
-
$filter
lặp lại vòng lặp mã và lọc các điều kiện đã chuẩn bị ở trên
db.collection.aggregate([
{
$set: {
code: {
$filter: {
input: "$code",
cond: { $and: condition }
}
}
}
}
])
Sân chơi