Я пытаюсь построить свой $ match динамически для моего запроса MongoDB, и когда я делаю простые вещи, он отлично работает, например так:
var matchStr = {};
matchStr.status = { "$lte": 3 };
matchStr.checkout = { $gte: Math.round(new Date(d).getTime()/1000) }
А потом я запускаю
bookingTable.aggregate([
{
$match: {
$and: [ matchStr ]
}
}, etc....
Что дает хороший:
matchStr: {
"status": {
"$lte": 3
},
"checkout": {
"$gte": 1527669588
}
}
Так что все отлично, но что если я захочу добавить что-то подобное в matchStr ...
{ $or: [ { "managerDate": {$lte: managerLast} }, { "activityDate": {$lte: activityLast} } ] }
,
{ $or: [ { "expireDate": {$gt: oneDayBackward} }, { "status": {$lt: 9}} ] }
,
{ "status": { $in: [0, 1, 2, 9 ] } }
Как я могу это сделать?