Definición
$queryNota
Obsoleto desde v3.2
A partir de la versión3.2, el operador
$queryestá obsoleto enmongosh. Enmongosh, utilice métodos de cursor en su lugar.El operador obliga a MongoDB a interpretar una expresión como una
$queryconsulta.Las siguientes operaciones son equivalentes y devuelven solo aquellos documentos en la colección
mongoshdenominadacollectiondonde elagecampo es igual25a.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 consulta:
db.documents.find( { "$query": { query: { a: 1 } } } ) Tip
Para obtener más información sobre las consultas en MongoDB,consulte Documentos de consulta,
db.collection.find()y Primeros pasos 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 tanto, las dos operaciones siguientes son equivalentes:
db.collection.find( { $query: { age : 25 }, $explain: true } ) db.collection.find( { age : 25 } ).explain()