Un'applicazione specifica posso vedere di $eq
è con casi come l'operatore $not
che richiede che il suo valore è un operator-expression
.
Questo permette di costruire una query come:
db.zips.find({state: {$not: {$eq: 'NY'}}})
Prima, il più vicino si potrebbe arrivare a questo semanticamente era:
db.zips.find({state: {$not: {$regex: /^NY$/}}})
Mi rendo conto che ci sono altri modi per rappresentare la funzionalità di quella query, ma se è necessario utilizzare l'operatore $not
per altri motivi, questo ora lo consentirebbe.
@ user2864740 è valido, questo documento indica che tali query ('{age: 21}' e '{age: {$ eq: 21}}') sono uguali: http://docs.mongodb.org/ manuale/riferimento/operatore/query/eq/ – Messa
@Messa In quale confusione, ho aperto la pagina errata :( – user2864740
Sì, sembra confuso :) Forse '$ eq' (nelle query" normali ") deve distinguere tra' null 'e chiave assente. Ma non posso provarlo ora. – Messa