我正在尝试在计算 $project 字段后进行 $match 并且以下查询超时:
db.getCollection('bookings').aggregate([
{"$match": {
"location_id": ObjectId("5c123423234234234")
}
},
{"$lookup": {from: 'inspections', localField: "_id", foreignField: "bookingId", as: 'inspection'}},
{
"$project":
{
"endDate": 1,
"startDate": 1,
"state": 1,
"inspection": 1,
"late":
{
"$cond": [
{
"$and": [
{
"$lte": ["$endDate", new Date()]
},
{
"$eq": ["$inspection", []]
}, {
"$in": ["$state", ["returned", "active"]]
},
]
}
, true, false
],
}
}
},
{
"$match": { "late": true }
}
])
你知道我做错了什么吗?问题在于,"$match": { "late": true }"
当我尝试$match
在我们正在查看非计算字段的字段上时 - 它工作正常。
ABOUTYOU
相关分类