Du måste bara formulera om logiken lite.
{ $match: { $expr: {
$or: [
{ $and: [
{ $eq: [ "$id", 1206 ] },
{ $eq: [ "$field1", 0 ] }
]},
{ $and: [
{ $ne: [ "$id", 1206 ] },
{ $eq: [ "$field1", 1545001200 ] }
]},
],
}}}
Logiskt sett är de två påståendena likvärdiga:
- Matcha dokumentet genom att markera
field1 == 0
omid == 1206
, annars matcha dokumentet genom att markerafield1 == 1545001200
- Matcha dokumentet om någon av dem (
id == 1206
ochfield1 == 0
) eller (id != 1206
ochfield1 == 1545001200
).