Когда вы вводите несколько условий в $match
, по умолчанию оно принимается как $and
, оно будет пытаться соответствовать всем заданным условиям и возвращать только те документы, для которых выполняются все условия.
НоИсходя из вашего вопроса, похоже, вам нужно найти все документы, адрес которых находится либо в from
, либо в поле to
.
, для этой цели вы можете использовать $or
.
Попробуйте это:
const result = await transactionDbSchema.aggregate([
{
$unwind: "$transactions"
},
{
$replaceRoot: { newRoot: "$transactions" }
},
{
$match: {
$or : [{ from: req.params.address } ,
{ to:req.params.address}]
}
}
]);
Подробнее о MongoDb $ или операторе здесь .