Condividi
Usare l'operatore booleano OR su due campi diversi in una query WHERE di MongoDB
In una query con clausola WHERE fatta in MongoDB vorrei poter usare l'operatore OR su due campi diversi, solo che ricevo un errore, vi spiego con un esempio, ho una collection hotels e dei campi 'nome hotel' e 'city' ed io vorrei fare una query in OR dove voglio ritornati gli hotels hilton oppure quelli presenti in londra, così
db.hotels.find({$where : "name = /hilton/i || city = /london/i"})
ma ricevo il seguente errore:
{ "$err" : "$where compile error" }
Se le due query vengono fatte separatamente funzionano perfettamente
db.hotels.find({$where : "city = /london/i"})
db.hotels.find({$where : "name = /hilton/i"})
Ma se le combino in OR come scritto sopra ricevo quell'errore di compilazione, come posso utilizzare correttamente l'operatore OR della logica booleana in MongoDB?
In Corso
2
MongoDB
06-06-2018
2 Risposte
1269 Visite
0
Risposte ( 2 approvate )
Forse non lo sai ma MongoDB supporta l'operatore booleano
$OR
, puoi scrivere la tua query in questo modoProva questa query: