Mongodb的简单使用
1. mongodb服务端的启动
mongodb的基本信息
- 默认端口:27017
- 默认配置文件的位置:/etc/mongod.conf
- 默认日志的位置:/var/log/mongodb/mongod.log
mongodb服务端启动分别两种方式: - 本地测试方式的启动(只具有本地数据增删改查的功能)
- 生产环境启动(具有完整的全部功能)
1.1 测试方式启动
- 启动: sudo service mongod start (sudo service mongod start)
- 停止: sudo service mongod stop
- 重启: sudo service mongod restart
- 查看mongodb配置文件中的配置选项使用
grep -v "#" /etc/mongodb.conf
- redis同上面的筛选操作
1.2 生产环境正式的启动方式
启动: sudo mongod [--auth --dbpath=配置文件路径 --logpath=日志文件路径 --append --fork] [-–f logfile ]
- 只以 sudo mongod 命令启动时,默认将数据存放在了 /data/db 目录下,需要手动创建
- --dbpath: 指定数据库的存放路径
- --logpath: 指定日志的存放路径
- --append: 或--logappend 设置日志的写入形式为追加模式
- --fork: 或-fork 开启新的进程运行mongodb服务
- --f: 或-f 配置文件路径(可以上述配置信息写入文件然后通过该文件中的参数进行加载启动)
- --auth: 以权限认证的方式启动。
使用shell脚本加载配置项 - 使用vim编辑器创建配置文件
vim mongo.conf
mongodb.conf
内容
--dbpath=存储/data/db的路径
--logpath=存储日志文件的路径
--logappend=true #使日志文件不是默认覆盖方式而是向后面追加方式
--fork=true #是否是以子进程的方式运行
--auth:true #可选参数,是否开启认证
使用shell方式运行命令sudo mongodb -f mongo.conf
启动mongodb
1.3 查看是否启动成功 ps aux | grep mongod
2. 启动mongodb的客户端:进入mongo shell
- 启动本地客户端: 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 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个字节为当前时间戳
- 接下来3个字节的机器ID
- 接下来的2个字节中MongoDB的服务进程id
- 最后3个字节是简单的增量值