Sie müssen nur die Logik ein wenig umformulieren.
{ $match: { $expr: {
$or: [
{ $and: [
{ $eq: [ "$id", 1206 ] },
{ $eq: [ "$field1", 0 ] }
]},
{ $and: [
{ $ne: [ "$id", 1206 ] },
{ $eq: [ "$field1", 1545001200 ] }
]},
],
}}}
Logischerweise sind die beiden Anweisungen äquivalent:
- Passen Sie das Dokument an, indem Sie
field1 == 0
aktivieren wennid == 1206
, andernfalls passen Sie das Dokument an, indem Siefield1 == 1545001200
überprüfen - Passen Sie das Dokument an, wenn entweder (
id == 1206
undfield1 == 0
) oder (id != 1206
undfield1 == 1545001200
).