mongodb的简单使用
1. mongodb服务端的启动
- 默认端口:27017
- 默认配置文件的位置:/etc/mongod.conf
- 默认日志的位置:/var/log/mongodb/mongod.log
mongodb服务端启动分别两种方式:
- 本地测试方式的启动(只具有本地数据增删改查的功能) 【验证数据库能否正常运行】
- 生产环境启动(具有完整的全部功能) 【项目部署】
查看此时mongodb还没有启动
1.1 测试方式启动
- 启动: sudo service mongod start
- 停止: sudo service mongod stop
- 重启: sudo service mongod restart
1.2 生产环境正式的启动方式
启动: sudo mongod [--auth --dbpath=dbpath --logpath=logpath --append --fork] [-–f logfile ]
- 只以 sudo mongod 命令启动时,默认将数据存放在了 /data/db 目录下,需要手动创建 【这个目录不创建的时候会报错】
- --dbpath: 指定数据库的存放路径
- --logpath: 指定日志的存放路径
- --append: 或--logappend 设置日志的写入形式为追加模式
- --fork: 或-fork 开启新的进程运行mongodb服务
- --f: 或-f 配置文件路径(可以将上述配置信息写入文件然后通过该文件中的参数进行加载启动)
- --auth: 以权限认证的方式启动
1.3 查看是否启动成功
ps aux | grep mongod
2. 启动mongodb的客户端:进入mongo shell
- 启动本地客户端: mongo 【看准这儿是mongo】
- 查看帮助:mongo –help
- 退出:exit或者ctrl+c
3. mongodb的简单使用
开启mongodb server的情况下,在进入mongo shell后,就可以做简单的使用了
3.1 mongodb数据库的命令
- 查看当前的数据库:db(没有切换数据库的情况下默认使用test数据库)
- 查看所有的数据库:show dbs / show databases 【二者选择其一就行了】
- 切换数据库:use db_name
- db_name为show dbs后返回的数据库名
- 删除当前的数据库:db.dropDatabase() 【只能删除当前所在是数据库】【小驼峰】
3.2 mongodb集合的命令
- 无需手动创建集合: 向不存在的集合中第一次添加数据时,集合会自动被创建出来
- 手动创建集合:
- db.createCollection(name,options)
- db.createCollection("stu")
- db.createCollection("sub", { capped : true, size : 10 } )
- 参数capped:默认值为false表示不设置上限,值为true表示设置上限
- 参数size:集合所占用的字节数。 当capped值为true时,需要指定此参数,表示上限大小,当文档达到上限时, 会将之前的数据覆盖,单位为字节 【如日志文件需要限制大小】【固定大小集合,查询速度会快一点】【固定大小中的集合数据是不允许被私自修改的,除非把这个固定大小的集合删除掉】
- 查看集合:show collections
- 删除集合:db.集合名称.drop()
- 检查集合是否设定上限: db.集合名.isCapped()
3.3 简单练习
在mongo shell中输入下列命令,查看结果
show dbs use test show collections db db.stu.insert({'name':'郭靖', 'age':22}) show dbs show collections db.stu.find() db.stu.drop() show collections db.dropDatabase() show dbs exit
3.3 mongodb中常见的数据类型
3.3.1 常见类型
- Object ID: 文档ID/数据的ID,数据的主键
- String: 字符串,最常用,必须是有效的UTF-8
- Boolean: 存储一个布尔值,true或false
- Integer: 整数可以是32位或64位,这取决于服务器
- Double: 浮点数
- Arrays: 数组/列表
- Object: mongodb中的一条数据/文档,即文档嵌套文档
- Null: 存储null值
- Timestamp: 时间戳,表示从1970-1-1到现在的总秒数
- Date: 存储当前日期或时间的UNIX时间格式
3.3.2 注意点
-
每个文档都有一个属性,为_id,保证每个文档的唯一性,mongodb默认使用_id作为主键
- 可以手动设置_id的值,如果没有提供,那么MongoDB为每个文档提供了一个独特的_id, 类型为objectID
-
objectID是一个12字节的十六进制数,每个字节两位,一共是24位的字符串:
-
- 前4个字节为当前时间戳 【即前8位】
- 接下来3个字节的机器ID
- 接下来的2个字节中MongoDB的服务进程id
- 最后3个字节是简单的增量值
小结
- 服务端的启动
- sudo mongod --dbpath=数据库路径
- 进入mongo shell客户端
- mongo
- mongodb的数据库和集合命令
- show dbs
- use db_name
- show collections
- db
- db.集合名.drop()
- db.dropDatabase()
- exit
- 文档中的_id字段