MongoDB 查询修饰符

除了 MongoDB 查询运算符之外,我们还有许多元操作来修改查询的输出或行为。

db.collection.find( { <query> } )._addSpecial( <option> )  
db.collection.find( { $query: { <query> }, <option> } )  

$comment

$comment 运算符可以在任何上下文中向查询添加注释。

语法:

db.collection.find( { <query> } )._addSpecial( "$comment", <comment> )  

$explain

$explain 修饰符提供有关查询计划的详细信息。它返回一个描述用于返回查询的过程和索引的文件。在尝试优化查询时,它可能会提供有用的见解。

语法:

db.example.find( { $query: {}, $explain: 1 } )

$hint

$hint 操作符现在在 mongo shell 中被弃用了。提示运算符附加优化器以使用声明的索引来完成查询。它还用于测试查询性能和索引策略。

语法:

db.users.find().hint( { age: 1 } )  

$max

自 v3.2 起,在 mongo shell 中不推荐使用 $max运算符。它定义了一个最大值来指定给定索引的唯一上限,以限制 find() 的结果。

语法:

db.example.find( { <query>  } ).max( { field1: <max value>, ... fieldN: <max valueN> } )  

$maxTimeMS

自 v3.2 起,$maxTimeMS已被弃用。它定义了一个以毫秒为单位的累积时间,用于处理游标上的操作。

语法:

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

$query 强制将表达式解释为使用 MongoDB 的查询。

db.collection.find( { $query: { age : 25 } } )  
db.collection.find( { age : 25 } )  

$returnKey

$returnKey 返回查询结果的索引字段。如果 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 ()使用磁盘上文档的顺序排列文档。

热门文章

优秀文章