चैट में चर्चा के बाद, ऐसा लगता है कि समग्र समस्या यह थी कि संबंधित इतिहास दस्तावेज़ों के 2 मानदंडों के आधार पर मुख्य संग्रह से दस्तावेज़ों का चयन कैसे किया जाए:
db.main.aggregate([
{$lookup: {
from: "history",
localField: "history_id",
foreignField: "history_id",
as: "History"
}},
{$match: {
$expr: {
$eq: [
false,
{$reduce: {
input: "$History",
initialValue: false,
in: {
$or: [
"$$value",
{$and: [
{$eq: [
"$$this.user_id",
ObjectId("5e4a8d2d3952132a08ae5764")
]},
{$gte: [
"$$this.date",
"$date"
]}
]}
]
}
}}
]
}
}}
])