查询一般分为普通查询和高级查询,对于普通查询不做介绍
下面介绍一下高级查询。我们在查询时比如 db.foo.find({“foo”:“bar”}).sort({"x":1})它在查询时不是将{"foo":"bar"}直接发给服务器数据库,而是将查询封装在一个更大的查询中,shell会把查询改为
{"$query":{"foo" : "bar"},"orderby":{"x" : 1}}.
绝大多数驱动程序可以想查询中添加高级查询选项,下面介绍一些高级查询选项:
$maxscan : x 指定查询最多扫描多少个文档数量
$min : document
$max : document
$hint : document 指定服务器使用那个索引进行查询。
$explain : boolean 和mysql 一样
$snapshot : boolean