Definición
$queryNota
Obsoleto desde la v3.2
A partir de la v3.2, el operador
$queryestá obsoleto enmongosh. Enmongosh, utiliza métodos del cursor en su lugar.El operador
$queryobliga a MongoDB a interpretar una expresión como una query.Las siguientes
mongoshoperaciones son equivalentes y devuelven sólo los documentos en la colección llamadacollectiondonde el campoagees igual a25.db.collection.find( { $query: { age : 25 } } ) db.collection.find( { age : 25 } ) $queryes necesario para trabajar con documentos que contienen un nombre de campoquerycuyo valor es un documento incrustado, como el siguiente documento:{ _id: 1, age: 25, query: { a: 1 } } La siguiente operación de búsqueda que no utiliza el operador
$queryno devolverá resultados:db.documents.find( { query: { a: 1 } } ) Para obtener el documento, deberá utilizar la siguiente query:
db.documents.find( { "$query": { query: { a: 1 } } } ) Tip
Para obtener más información sobre queries en MongoDB, consulta Documentos de consulta,
db.collection.find()y Comenzar con MongoDB.Nota
No mezcle los formatos de consulta. Si usa el
$queryformato, no añada métodos defind()cursor al. Para modificar la consulta,utilice operadores de metaconsulta,$explaincomo.Por lo tanto, las siguientes dos operaciones son equivalentes:
db.collection.find( { $query: { age : 25 }, $explain: true } ) db.collection.find( { age : 25 } ).explain()