为了账号安全,请及时绑定邮箱和手机立即绑定

mongo 查询超时,新 $project 字段上的 $match

mongo 查询超时,新 $project 字段上的 $match

Qyouu 2022-01-20 17:11:44
我正在尝试在计算 $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在我们正在查看非计算字段的字段上时 - 它工作正常。
查看完整描述

1 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

谢谢大家 - 这是一个真正的超时,而不是我的查询语法问题。我添加了一个索引,一切都很好。


查看完整回答
反对 回复 2022-01-20
  • 1 回答
  • 0 关注
  • 269 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信