一、引言
上一篇文章我们已经介绍了MongoDB数据库的最基本操作,包括数据库的创建、使用和删除数据库,文档的操作也涉及到了文档的创建、删除、更新和查询,当然也包括集合的创建、重命名和删除。有了这些基本操作,大家第一次使用MongoDb数据库的时候就不会慌张,慢慢操作就可以了。虽然上一篇文章简单介绍了一些文档的查询,那都是最基本的,由于文档的查询涉及的内容比较多,所以我们需要单独写一篇文章来专门介绍有关文档的查询的详细信息。废话不多说,马上开始我们今天的写作吧。
二、MongDB查询的详解
我比较直接,直接上内容,有关查询的每个方法都有示例代码,应该不是很难。
1、find()查询方法:根据查询条件返回符合条件的所有文档
MongoDB 查询文档使用 find() 方法,find() 方法以非结构化的方式来显示所有文档。
语法:db.collectionName.find(query,projection)
参数说明:
query :可选,使用查询操作符指定查询条件
projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。格式类似{<key>:1,<key>:1,_id:0},0值表示不显示,其他值均为显示,无论正负值。该参数控制不显示的字段,需要显示的不在该参数里书写就可以。
如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:
>db.collectionName.find().pretty()
pretty() 方法以格式化的方式来显示所有文档。
1.1、示例代码:查询所有文档
1.4、示例代码:格式化文档
2、findOne()查询方法:查询结果只会返回符合条件的第一条文档
MongoDB 查询文档使用 findOne()方法查询符合条件的第一条文档,使用和find()方法类似,并以非结构化的方式来显示所有文档。
语法:db.collectionName.findOne(query,projection)
参数说明:
query :可选,使用查询操作符指定查询条件
projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。格式类似{<key>:1,_id:0},非0的值表示显示,0表示不显示
findOne()方法不支持pretty()方法。
2.1、示例代码:显示符合条件的第一条记录
2.3、示例代码:findOne()方法不支持pretty()方法
3、条件操作符
如果你熟悉常规的 sql 数据,通过下表可以更好的理解 MongoDB 的条件语句查询:
3.1、: 等于 :查询指定字段的值等于某个具体的值的时候返回符合条件的文档
语法:db.collectionName.find({<key>:<value>})
参数说明:
key:需要执行查询判断的字段名
value:这个值是一个具体的数值,并且这个值需要和Key字段里面的值进行比较,只有当Key字段的值等于Value的时候,才返回符合条件的文档
实例代码:
3.2、$lt 小于:查询指定字段的值小于某个具体的值的时候返回符合条件的文档
语法:db.collectionName.find({<key>:{$lt:<value>}})
参数说明:
key:需要执行查询判断的字段名
value:这个值是一个具体的数值,并且这个值需要和Key字段里面的值进行比较,只有当Key字段的值小于Value的时候,才返回符合条件的文档
实例代码:
3.3、$lte 小于或等于 :查询指定字段的值在小于或者等于某个具体的数值时返回所有符合条件的文档
语法:db.collectionName.find({<key>:{$lte:<value>}})
参数说明:
key:需要执行查询判断的字段名
value:这个值是一个具体的数值,并且这个值需要和Key字段里面的值进行比较,只有当Key字段的值小于或者等于Value的时候,才返回符合条件的文档
":{$lte: }
{ }
>