此版本的文档已存档,不再提供支持。要升级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()