2016-07-17 10 views
0

CAN bitte ist ERKLÄREN, wie ich diesesMongoDB - (NodeJS) - find() basiert auf zwei Feldern. finden aus beiden Bereichen, wenn WEDER leer sind, oder man nur, wenn der andere JEMAND leer

MongoDB - find() vermeiden - Imgur Link

MongoDB - (NodeJS) - finden() basierend auf zwei Feldern. Finden Sie aus beiden Feldern, wenn NEWTHER leer sind, oder nur wenn das andere leer ist.

Ich habe mir die documentation für MongoDB angesehen. Das Beste, was ich gefunden habe, ist das:

$and : [ 
     { $or : [ { price : 0.99 }, { price : 1.99 } ] }, 
     { $or : [ { sale : true }, { qty : { $lt : 20 } } ] } 
    ] 

Was mir immer noch nicht hilft.

+2

Bitte don‘ t post code als Bild – DAXaholic

Antwort

1

bauen Sie Ihre Abfrage-Objekt dynamisch:

var query = {}; 
if (searchParameters.specialty !== '') { 
    query.program = searchParameters.specialty; 
} 
if (searchParameters.state !== '') { 
    query.state = searchParameters.state; 
} 
Model.find(query, ...); 

(möchten Sie vielleicht auch sicherstellen, dass mindestens ein nicht leer ist, da sonst die Abfrage alle Dokumente gefunden werden)