博客
关于我
文档的查询
阅读量:619 次
发布时间:2019-03-13

本文共 6054 字,大约阅读时间需要 20 分钟。

MongoDB数据库查询实例分析与操作指南

1. 数据库基础查询

1.1 记录总数统计

db.comment.count()

返回结果:5

1.2 用户ID查询

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

返回结果:2

2. 分页查询

2.1 查询前两条记录

db.comment.find().limit(2)

返回结果:

{    "_id": "1",     "articleid": "100001",     "content": "我们不应该把清晨浪费在手机上,健康很重要,一杯温水幸福你我他。",    "userid": "1002",     "nickname": "相忘于江湖",     "createdatetime": ISODate("1970-01-01T00:00:00Z"),     "likenum": 1000,     "state": "1"}{    "_id": "2",     "articleid": "100001",     "content": "我夏天空腹喝凉开水,冬天喝温开水",    "userid": "1005",     "nickname": "伊人憔悴",     "createdatetime": ISODate("2019-08-05T23:58:51.485Z"),     "likenum": 888,     "state": "1"}

2.2 跳过前两条记录,查询两条记录

db.comment.find().limit(2).skip(2)

返回结果:

{    "_id": "3",     "articleid": "100001",     "content": "我一直喝凉开水,冬天夏天都喝。",    "userid": "1004",     "nickname": "杰克船长",     "createdatetime": ISODate("2019-08-06T01:05:06.321Z"),     "likenum": 666,     "state": "1"}{    "_id": "4",     "articleid": "100001",     "content": "专家说不能空腹吃饭,影响健康。",    "userid": "1003",     "nickname": "凯撒",     "createdatetime": ISODate("2019-08-06T08:18:35.288Z"),     "likenum": 2000,     "state": "1"}

2.3 跳过前四条记录,查询第五条

db.comment.find().limit(2).skip(4)

返回结果:

{    "_id": "5",     "articleid": "100001",     "content": "研究表明,刚烧开的水千万不能喝,因为烫嘴。",    "userid": "1003",     "nickname": "凯撒",     "createdatetime": ISODate("1970-01-01T00:00:00Z"),     "likenum": 3000,     "state": "1"}

3. 排序查询

3.1 按用户ID升序排列

db.comment.find().sort({userid: 1})

返回结果:

{    "_id": "1",     "userid": "1002"}{    "_id": "4",     "userid": "1003"}{    "_id": "5",     "userid": "1003"}{    "_id": "3",     "userid": "1004"}{    "_id": "2",     "userid": "1005"}

3.2 投影查询(仅 userid),按用户ID升序排列

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"}

3.3 按用户ID降序排列

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"}

4. 复杂查询

4.1 查询包含“开水”的内容

db.comment.find({content: /开水/})

返回结果:

{    "_id": "2",     "articleid": "100001",     "content": "我夏天空腹喝凉开水,冬天喝温开水",    "userid": "1005",     "nickname": "伊人憔悴",     "createdatetime": ISODate("2019-08-05T23:58:51.485Z"),     "likenum": 888,     "state": "1"}{    "_id": "3",     "articleid": "100001",     "content": "我一直喝凉开水,冬天夏天都喝。",    "userid": "1004",     "nickname": "杰克船长",     "createdatetime": ISODate("2019-08-06T01:05:06.321Z"),     "likenum": 666,     "state": "1"}

5. 比较查询

5.1 查询点赞数量大于 700 的记录

db.comment.find({likenum: { $gt: NumberInt(700) }})

返回结果:

{    "_id": "1",     "articleid": "100001",     "content": "我们不应该把清晨浪费在手机上,健康很重要,一杯温水幸福你我他。",    "userid": "1002",     "nickname": "相忘于江湖",     "createdatetime": ISODate("1970-01-01T00:00:00Z"),     "likenum": 1000,     "state": "1"}{    "_id": "2",     "articleid": "100001",     "content": "我夏天空腹喝凉开水,冬天喝温开水",    "userid": "1005",     "nickname": "伊人憔悴",     "createdatetime": ISODate("2019-08-05T23:58:51.485Z"),     "likenum": 888,     "state": "1"}{    "_id": "4",     "articleid": "100001",     "content": "专家说不能空腹吃饭,影响健康。",    "userid": "1003",     "nickname": "凯撒",     "createdatetime": ISODate("2019-08-06T08:18:35.288Z"),     "likenum": 2000,     "state": "1"}{    "_id": "5",     "articleid": "100001",     "content": "研究表明,刚烧开的水千万不能喝,因为烫嘴。",    "userid": "1003",     "nickname": "凯撒",     "createdatetime": ISODate("1970-01-01T00:00:00Z"),     "likenum": 3000,     "state": "1"}

6. 包含查询

6.1 查询包含 userid 为 1003 或 1004 的记录

db.comment.find({userid: { $in: ["1003", "1004"] }})

返回结果:

{    "_id": "3",     "articleid": "100001",     "content": "我一直喝凉开水,冬天夏天都喝。",    "userid": "1004",     "nickname": "杰克船长",     "createdatetime": ISODate("2019-08-06T01:05:06.321Z"),     "likenum": 666,     "state": "1"}{    "_id": "4",     "articleid": "100001",     "content": "专家说不能空腹吃饭,影响健康。",    "userid": "1003",     "nickname": "凯撒",     "createdatetime": ISODate("2019-08-06T08:18:35.288Z"),     "likenum": 2000,     "state": "1"}{    "_id": "5",     "articleid": "100001",     "content": "研究表明,刚烧开的水千万不能喝,因为烫嘴。",    "userid": "1003",     "nickname": "凯撒",     "createdatetime": ISODate("1970-01-01T00:00:00Z"),     "likenum": 3000,     "state": "1"}

7. 条件连接查询

7.1 查询 likenum 大于等于 700 并且小于 2000 的记录

db.comment.find({ $and: [{likenum: { $gte: NumberInt(700) }}, {likenum: { $lt: NumberInt(2000) }}] })

返回结果:

{    "_id": "1",     "articleid": "100001",     "content": "我们不应该把清晨浪费在手机上,健康很重要,一杯温水幸福你我他。",    "userid": "1002",     "nickname": "相忘于江湖",     "createdatetime": ISODate("1970-01-01T00:00:00Z"),     "likenum": 1000,     "state": "1"}{    "_id": "2",     "articleid": "100001",     "content": "我夏天空腹喝凉开水,冬天喝温开水",    "userid": "1005",     "nickname": "伊人憔悴",     "createdatetime": ISODate("2019-08-05T23:58:51.485Z"),     "likenum": 888,     "state": "1"}

7.2 查询 userid 为 1003 或点赞数小于 1000 的记录

db.comment.find({ $or: [{userid: "1003"}, {likenum: { $lt: NumberInt(1000) }}] })

返回结果:

{    "_id": "2",     "articleid": "100001",     "content": "我夏天空腹喝凉开水,冬天喝温开水",    "userid": "1005",     "nickname": "伊人憔悴",     "createdatetime": ISODate("2019-08-05T23:58:51.485Z"),     "likenum": 888,     "state": "1"}{    "_id": "3",     "articleid": "100001",     "content": "我一直喝凉开水,冬天夏天都喝。",    "userid": "1004",     "nickname": "杰克船长",     "createdatetime": ISODate("2019-08-06T01:05:06.321Z"),     "likenum": 666,     "state": "1"}{    "_id": "4",     "articleid": "100001",     "content": "专家说不能空腹吃饭,影响健康。",    "userid": "1003",     "nickname": "凯撒",     "createdatetime": ISODate("2019-08-06T08:18:35.288Z"),     "likenum": 2000,     "state": "1"}{    "_id": "5",     "articleid": "100001",     "content": "研究表明,刚烧开的水千万不能喝,因为烫嘴。",    "userid": "1003",     "nickname": "凯撒",     "createdatetime": ISODate("1970-01-01T00:00:00Z"),     "likenum": 3000,     "state": "1"}

转载地址:http://anpaz.baihongyu.com/

你可能感兴趣的文章
mac mysql 进程_Mac平台下启动MySQL到完全终止MySQL----终端八步走
查看>>
Mac OS 12.0.1 如何安装柯美287打印机驱动,刷卡打印
查看>>
MangoDB4.0版本的安装与配置
查看>>
Manjaro 24.1 “Xahea” 发布!具有 KDE Plasma 6.1.5、GNOME 46 和最新的内核增强功能
查看>>
mapping文件目录生成修改
查看>>
MapReduce程序依赖的jar包
查看>>
mariadb multi-source replication(mariadb多主复制)
查看>>
MaterialForm对tab页进行隐藏
查看>>
Member var and Static var.
查看>>
memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
查看>>
memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
查看>>
Memcached:Node.js 高性能缓存解决方案
查看>>
memcache、redis原理对比
查看>>
memset初始化高维数组为-1/0
查看>>
Metasploit CGI网关接口渗透测试实战
查看>>
Metasploit Web服务器渗透测试实战
查看>>
Moment.js常见用法总结
查看>>
MongoDB出现Error parsing command line: unrecognised option ‘--fork‘ 的解决方法
查看>>
MongoDB学习笔记(8)--索引及优化索引
查看>>
ms sql server 2008 sp2更新异常
查看>>