Как преобразовать данные, используя $if $else
условие группового режима MongoDB?
Эта игровая площадка должна возвращать два объекта, принадлежащих тексту, с «tester 2» и «tester 3» также, если у меня есть несколько объектов в истории коллекция должна также проверять с последним объектом не все объекты будут возражать, насколько это возможно
Поэтому условие должно сказать, что если дата истории $gt
, то основная коллекция не должна возвращать ничего, кроме как возвращать данные соответствующих критериев.
db.main.aggregate([
{
$lookup: {
from: "history",
localField: "history_id",
foreignField: "history_id",
as: "History"
}
},
{
$unwind: "$History"
},
{
"$match": {
$expr: {
$cond: {
if: {
$eq: [
"5e4e74eb380054797d9db623",
"$History.user_id"
]
},
then: {
$and: [
{
$gt: [
"$date",
"$History.date"
]
},
{
$eq: [
"5e4e74eb380054797d9db623",
"$History.user_id"
]
}
]
},
else: {}
}
}
}
}
])
MongoPlayground