MongoDB 查询修饰符
除了MongoDB查询操作符之外,我们还有一些元操作来修改查询的输出或行为。
db.collection.find( { <query> } )._addSpecial( <option> )
db.collection.find( { $query: { <query> }, <option> } )
修饰符
$comment
注释运算符可以在任何上下文中向查询添加注释。
语法:
db.collection.find( { <query> } )._addSpecial( "$comment", <comment> )
$explain
explain修饰符提供有关查询计划的详细信息。它返回一个描述用于返回查询的过程和索引的文件。当尝试优化查询时,它可能提供有用的见解。
语法:
db.example.find( { query: {},explain: 1 } )
$hint
该操作符在mongo shell中已经被弃用。提示操作符用于指定优化器使用声明的索引来执行查询。它还用于测试查询性能和索引策略。
语法:
db.users.find().hint( { age: 1 } )
$max
max 操作符在 mongo shell 中自 v3.2 版本后已弃用。它定义了一个最大值,用于指定给定索引的排他性上限,以限制 find () 的结果。
语法:
db.example.find( { <query> } ).max( { field1: <max value>, ... fieldN: <max valueN> } )
$maxTimeMS
自v3.2起,此选项也已被弃用。它定义了游标上处理操作的累计时间(以毫秒为单位)。
语法:
db.collection.find().maxTimeMS(100)
$min
min运算符用于找到最小值,以声明包括限制结果为find()的指定索引的下限。
语法:
db.collection.find( { <query> } ).min( { field1: <min value>, ... fieldN: <min valueN>} )
$orderby
orderby运算符按升序或降序排列查询的结果。
语法:
db.collection.find().sort( { age: -1 } )
$query
它使用MongoDB强制将表达式解释为查询。
语法:
db.collection.find( { $query: { age : 25 } } )
db.collection.find( { age : 25 } )
$returnKey
return key(返回键)返回查询结果的索引字段。如果returnkey操作符设置为true,则返回的文档将不包含任何字段。
语法:
db.collection.find( { <query> } )._addSpecial( "returnKey", true )
db.collection.find( {query: { <query> }, $returnKey: true } )
$showDiskLoc
showDiskLoc运算符将字段添加到结果文档中。添加的diskLoc字段的值是一个包含磁盘位置详细信息的文档。
语法:
"$diskLoc": {
"file": <int>,
"offset": <int>
}
$natural
natural运算符是一种特殊的排序运算符,它使用磁盘上文档的顺序对文档进行排序,使用 cursor.hint() 。