# mongodb_基础到进阶 -- MongoDB 快速上手(三)

mongodb_基础到进阶 – MongoDB 快速上手(三)

一、MongoDB : 文档的分页查询

1、 mongodb 统计查询

1)统计查询使用 count() 方法,语法如下:

db.collection.count(query, options)

2)count() 方法 参数说明

Parameter Type Description
query document 查询选择条件。
options document 可选。用于修改计数的额外选项。

提示:可选项暂时不使用。

3)示例:(1)统计所有记录数:统计 comment 集合的所有的记录数:

db.comment.count()

4)示例:( 2)按条件统计记录数:例如:统计 userid 为 1003 的记录条数

db.comment.count({
   
   userid:"1003"})

5)提示:

默认情况下 count() 方法返回符合条件的全部记录条数。

2、mongodb 分页列表查询

1)可以使用limit()方法来读取指定数量的数据,使用skip()方法来跳过指定数量的数据。
基本语法如下所示:

>db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)

2)如果你想返回指定条数的记录,可以在find方法后调用limit来返回结果(TopN),默认值20,例如:

db.comment.find().limit(3)

3)skip 方法同样接受一个数字参数作为跳过的记录条数。(前N个不要),默认值是0

db.comment.find().skip(3)

4)分页查询:需求:每页2个,第二页开始:跳过前两条数据,接着值显示3和4条数据

//第一页
db.comment.find().skip(0).limit(2)
//第二页
db.comment.find().skip(2).limit(2)
//第三页
db.comment.find().skip(4).limit(2)

3、mongodb 排序查询

1)sort() 方法 对数据进行排序,sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。
语法如下所示:

db.COLLECTION_NAME.find().sort({
   
   KEY:1})
或
db.集合名称.find().sort(排序方式)

2)例如:对 userid 降序排列,并对访问量 likenum 进行升序排列


# 对 userid 升序排列
> db.comment.find({
   
   },{
   
   userid:1}).sort({
   
   userid:1})
{
   
    "_id" : "1", "userid" : "1002" }
{
   
    "_id" : "4", "userid" : "1003" }
{
   
    "_id" : "5", "userid" : "1003" }
{
   
    "_id" : "3", "userid" : "1004" }
{
   
    "_id" : "2", "userid" : "1005" }

# 对 userid 降序排列
> db.comment.find({
   
   },{
   
   userid:1}).sort({
   
   userid:-1})
{
   
    "_id" : "2", "userid" : "1005" }
{
   
    "_id" : "3", "userid" : "1004" }
{
   
    "_id" : "4", "userid" : "1003" }
{
   
    "_id" : "5", "userid" : "1003" }
{
   
    "_id" : "1", "userid" : "1002" }

# 对 userid 降序排列,并对访问量 likenum 进行升序排列
db.comment.find().sort({
   
   userid:-1,likenum:1})

> db.comment.find({
   
   },{
   
   userid:1, likenum:1}).sort({
   
   userid:-1, likenum:1})
{
   
    "_id" : "2", "userid" : "1005", "likenum" : 888 }
{
   
    "_id" : "3", "userid" : "1004", "likenum" : 666 }
{
   
    "_id" : "4", "userid" : "1003", "likenum" : 2000 }
{
   
    "_id" : "5", "userid" : "1003", "likenum" : 3000 }
{
   
    "_id" : "1", "userid" : "1002", "likenum" : 1000 }

4、提示:

skip(), limilt(), sort()三个放在一起执行的时候,执行的顺序是先 sort(), 然后是 skip(),最后是显示的 limit(),和命令编写顺序无关。

5、实操演示:

14-MongoDB文档的分页查询.png

二、MongoDB : 文档的更多查询

1、MongoDB 正则的复杂条件查询

1)MongoDB 的模糊查询是通过正则表达式的方式实现的。格式为:

db.collection.find({
   
   field:/正则表达式/})
或
db.集合.find({
   
   字段
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

段子手-168

你的鼓励将是我你的创作最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值