1 / 1
May 2024
[ { $match: { rollout_organization_domain: "swift-dev" } }, { $unionWith: { coll: "swift-dev_extension_app_url" } }, { $lookup: { from: "swift-dev_extension_alert", localField: "url", foreignField: "url", as: "alert" } }, { $addFields: { alerts: { $size: "$alert" } } }, { $unset: "alert" }, { $lookup: { from: "swift-dev_extension_event_logs", let: { url: "$url" }, pipeline: [ { $match: { $expr: { $eq: ["$url", "$$url"] } } }, { $group: { _id: "$url", users: { $addToSet: "$unmask_email" } } } ], as: "event_logs" } }, { $addFields: { user_count: { $cond: { if: { $gt: [ { $size: "$event_logs.users" }, 0 ] }, then: { $size: { $arrayElemAt: [ "$event_logs.users", 0 ] } }, else: 0 } } } }, { $project: { app_name: 1, url: 1, domain: 1, status: 1, category: 1, organization_domain: 1, type: 1, created_at: 1, updated_at: 1, alerts: 1, user_count: 1 } } ]

Need help for optimizing the above query