MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Abfragen mit mehreren Bedingungen und diese Bedingungen sind abhängig

Sie fügen die Bedingungen in ein [ {}, {}, {}, {}]-Array ein (da ein Array ein gültiges JSON ist).

db.inventory.find( { $or: [ { "symptom_1": "Z001" }, {"symptom_2": "Z002" }] })

Tatsächlich suchen Sie vielleicht nach dem $in-Operator, der auf einem gemeinsamen Feld funktioniert

db.collection.find({ "symptom_1": { $in: ["Z001", "Z002", "A001", "A002", "A003"]});

und anscheinend möchten Sie alle Symptomfelder durchkämmen, also verwenden Sie sowohl $or als auch $in als solche

db.collection.find({$or:
[
 {"symptom_1": { $in: ["Z001", "Z002", "A001", "A002", "A003"]}},
 {"symptom_2": { $in: ["Z001", "Z002", "A001", "A002", "A003"]}} ,
  ...
 ]} );

Die geschweiften Klammern stimmen möglicherweise nicht überein, aber fangen Sie damit an.