sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan man forespørger med flere betingelser og disse betingelser er afhængige

du placerer betingelserne i et [ {}, {}, {}, {}] array (da et array er gyldigt json).

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

faktisk søger du måske $in-operatoren, der fungerer på et fælles felt

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

og det ser ud til, at du vil kam igennem alle symptomfelter, så brug både $or og $in som sådan

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

bøjlerne kan være forkerte, men start med det.




  1. Ekskluder felter fra resultatet i MongoDB monk

  2. Hvordan ændres alle array-elementerne i et mongodb-dokument til en bestemt værdi?

  3. Kan jeg serialisere et ruby ​​Digest::SHA1-forekomstobjekt?

  4. Mongoose findOneAndUpdate:Opdater et objekt i en række objekter