我有以下$ lookup,在这里我试图$ match'creator','status',并且它是在两个日期之间创建的。前两个可以完美地工作,但是当涉及对'createdAt'进行过滤时,它不起作用。
{
$lookup: {
from: "customers",
let: { user: "$_id" },
pipeline: [
{
$match: {
$expr: {
$and: [
{$eq: ['$creator', '$$user']},
{$in: ['$status', ['ny', 'pågår', 'vunnet']]},
{$gte: ['$createdAt', moment(a).startOf('day').toISOString()]},
{$lte: ['$createdAt', moment(b).startOf('day').toISOString()]},
],
},
}
},
{ $project: { _id: 0, name: 0, startedAt: 0 } },
],
as: "customers"
}
},
我在做什么错?我尝试使用另一个$match
,但它不起作用:
{
$match: {
'date': {
$gte: moment(a).startOf('day').toDate(),
$lte: moment(b).startOf('day').toDate(),
}
}
},
我还尝试在$expr
{'createdAt': {
$gte: ['$createdAt', moment(a).startOf('day').toDate()],
}},
{'createdAt': {
$lte: ['$createdAt', moment(b).startOf('day').toDate()],
}},