继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

MongoDB入门操作案例

方大刚
关注TA
已关注
手记 4
粉丝 4
获赞 26

安装

  • windows
    在官网下载与系统相对应的版本即可
  • Linux用户
    1.直接使用apt/apt-get/yum install mongodb服务即可。
    2.也可自行下载压缩文件,自行解压即可使用。

启动

  • windows
    命令行中运行:c:\mongodb\bin\mongod --dbpath d:\data\db其中mogod启动程序根据我们的安装路径确定,dpath参数是我们数据集所存放的路径,即我们采集或者手动插入的数据所存储的路径,这样我们的服务端就启动完毕。
  • Linux
    直接在终端输入service mongodb start 启动即可,如果需要远程连接的话需要在/etc/mongodb.conf配置文件中修改我们的绑定地址,端口号也可根据需求更改,在防火墙策略中将对应的端口开放即可,云服务器上再安全策略中将端口开放。

连接

命令行中输入mongo即可进入MongoDB客户端,如果通过程序访问数据库一定要设置端口号,退出exit

操作

1.查看数据库show databasesshow dbs
2.使用/创建数据库use test当进入一个不存在的数据库即创建一个数据库,例如use mldn 此时创建了一个新的数据库,但是当你show dbs时并不会出现,mongdb真正创建这个库是在你库里面创建一个集合或者插入一条数据的时候。
查看操作
3.db.createCollection("emp")创建一个集合,在mysql中数据库中存放的是表,在mongodb中我们叫它集合,换汤不换药,理解一哈就行,mysql中表中存放的是一行一行的数据,在mogodb中我们叫文档,名字不重要,知道有这么个东西就OK。
4.show collections查看所有集合
5db.emp.insert({"deptno":10,"dname":"财务部","loc":"北京"})向集合中插入一条数据
6.db.emp.find()查看集合中数据
查看集合中数据
7.db.集合.drop删除一个集合
8.删除一个数据库,需要use 数据库名,而后执行db.dropDatabase()操作
9.条件查询,测试数据

db.student.insert({"name":"李四","sex":"男","age":19,"score":89})
db.student.insert({"name":"赵五","sex":"男","age":19,"score":89})
db.student.insert({"name":"钱六","sex":"男","age":16,"score":89})
db.student.insert({"name":"张七","sex":"男","age":17,"score":89})
db.student.insert({"name":"张八","sex":"男","age":18,"score":89})
db.student.insert({"name":"张一","sex":"男","age":19,"score":89})
db.student.insert({"name":"张二","sex":"男","age":20,"score":89})
db.student.insert({"name":"张十","sex":"男","age":21,"score":89})
db.student.insert({"name":"张九","sex":"男","age":19,"score":89})

(使用pretty()方法是为了美化查询结果数据,方便查看)

  • 查询成绩大于60分的同学信息:
    db.student.find({"score":{"$gt":60}}).pretty()

  • 逻辑运算与($and)、或($or)、非($not\$nor))($nor针对或取反操作)
    查询年龄在19-20岁的学生信息
    db.student.find({"age":{"\$gte":19,"\$lte":20}).pretty()
    查询年龄不是19岁得学生信息
    db.student.find({"age":{"\$ne":19}}).pretty()
    查询年龄大于19岁,或者成绩大于90分的学生信息
    db.student.find({"\$or":[{"age":{"\$gt":19}},{"scor":{"\$gt":90}}]})
    或的连接需要设置一个数组来设定过滤条件

  • 范围查询($in$nin)
    查询姓名是张三、李四、赵五得信息
    db.student.find({"name":{"\$in":["张三","李四","赵五"]}}).pretty()
    不在范围的查询
    db.student.find({"name":{"\$nin":["张三","李四","赵五"]}}).pretty()

  1. 数据分页显示
  • skip(n) 表示数据跨过多少行
  • limit(n)取出数据行的个数限制
    db.hero_list.find().skip(10).limit(3)
    分页显示
    db.infos.find().skip(0).limit(5).pretty()
  1. 删除数据
    使用remove
    删除条件:满足删除条件得删除,是否只删除一个数据,如果设置为true1表示只删除一个数据
    范例:删除所有姓名带有张字的同学信息
    db.student.remove({"name":/张/})
    db.student.remove({"name":/张/},true)
    清空所有数据操作
    db.student.remove({})
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP