Solo tienes que reformular un poco la lógica.
{ $match: { $expr: {
$or: [
{ $and: [
{ $eq: [ "$id", 1206 ] },
{ $eq: [ "$field1", 0 ] }
]},
{ $and: [
{ $ne: [ "$id", 1206 ] },
{ $eq: [ "$field1", 1545001200 ] }
]},
],
}}}
Lógicamente, las dos declaraciones son equivalentes:
- Haga coincidir el documento marcando
field1 == 0
siid == 1206
, de lo contrario, haga coincidir el documento marcandofield1 == 1545001200
- Coincide con el documento si (
id == 1206
yfield1 == 0
) o (id != 1206
yfield1 == 1545001200
).