此版本的文档已存档,不再提供支持。要升级5.0部署,请参阅 MongoDB 6.0升级程序。
定义
$query
$query
操作符强制MongoDB将表达式解释为查询。以下
mongosh
操作是等效的,并且仅返回名为collection
的集合中的那些文档,其中age
字段等于25
。db.collection.find( { $query: { age : 25 } } ) db.collection.find( { age : 25 } ) 必须使用
$query
才能处理包含字段名称query
且其值为嵌入式文档的文档,例如以下文档:{ _id: 1, age: 25, query: { a: 1 } } 以下不使用
$query
操作符的查找操作不会返回任何结果:db.documents.find( { query: { a: 1 } } ) 要获取该文档,您需要使用以下查询:
db.documents.find( { "$query": { query: { a: 1 } } } ) 提示
有关MongoDB中查询的更多信息,请参阅查询文档、
db.collection.find()
和MongoDB入门。注意
请勿混合使用查询形式。 如果使用
$query
格式,请勿将游标方法附加到find()
。 要修改查询,请使用元查询运算符,例如$explain
。因此,以下两个操作是等效的:
db.collection.find( { $query: { age : 25 }, $explain: true } ) db.collection.find( { age : 25 } ).explain()