Il vous suffit de reformuler un peu la logique.
{ $match: { $expr: {
$or: [
{ $and: [
{ $eq: [ "$id", 1206 ] },
{ $eq: [ "$field1", 0 ] }
]},
{ $and: [
{ $ne: [ "$id", 1206 ] },
{ $eq: [ "$field1", 1545001200 ] }
]},
],
}}}
Logiquement, les deux déclarations sont équivalentes :
- Faites correspondre le document en cochant
field1 == 0
siid == 1206
, sinon faites correspondre le document en cochantfield1 == 1545001200
- Faites correspondre le document si l'un ou l'autre (
id == 1206
etfield1 == 0
) ou (id != 1206
etfield1 == 1545001200
).