1 简介
1.1 mongoDB现状
☑ 国外:ebay、sourceforge、github等
☑ 国内:淘宝、京东、360、大众点评、天天动听、百度等
1.3 相关网站
☑ 官网:www.mongodb.org
☑ 中文官网:http://www.mongoing.com/
☑ 中文文档地址:docs.mongoing.com
☑ github(源码):https://github.com/mongodb/
☑ jira(BUG提交及回复):https://jira.mongodb.org/
☑ 两个google groups:mongodb-user
与mongo-cn
1.4 关于数据库
SQL数据库
☑ 实时一致性
☑ 事务
☑ 多表联合查询
NOSQL数据库
☑ 简单便捷
☑ 方便扩展
☑ 更好的性能
1.5 为什么选择MongoDB
1. 无数据结构的限制
☑ 没有表结构的概念,每条记录可以有完全不同的结构
☑ 业务开发方便快捷
相比其它:
☑ SQL数据库需要先定义表结构再使用
2. 完全的索引支持
单键索引、多键索引、数组索引、全文索引(不支持中文)、地理位置索引
和其它数据库对比其它
- redis 的 key-value
- hbase 的单索引,二级索引需要自己实现
3. 方便的冗余和扩展
☑ 复制集保证数据安全
☑ 分片扩展数据规模
4. 良好的支持
☑ 完善的文档
☑ 齐全的驱动支持
2 环境与运行
2.1 运行环境
☑ 操作系统:64 位 linux
☑ 版本:2(大版本).6(偶数为稳定版).5(小版本)
☑ ssh:xshell
☑ 编辑器:vim 与 notepad++
2.2 编译MongoDB
1 | $ cd mongo-r2.6.5 |
mongod: 数据库服务
mongo: 自带的客户端
mongoimport: 数据导入(非二进制)
mongoexport: 数据导出(二进制)
mongodump: 备份(二级制)
mongorestore: 恢复(二进制)
mongooplog: 记录复制集操作的日志服务
mongostat: 查看服务运行状态
2.3 搭建简单的mongoDB服务器
1 | $ mkdir mongodb_sample && cd mongodb_sample # 创建mongodb根目录 |
data:用来存储数据文件
log:存储日志文件
bin:可执行文件
log:日志文件
conf:配置文件
1 | $ cp ../mongo-r2.6.5/mongod bin/ |
2.4 连接mongoDB服务器
1 | $ cp ../mongo-r2.6.5/mongo bin/ # 将编译好的客户端复制过来 |
3 基本操作
3.1 查看
1 | $ ./bin/mongo 127.0.0.1:12345 |
3.2 更新
1 | >db.imooc_collection.update({x:1},{x:999}) # 将imooc_collection的x为1的文档修改为{x:999}(全部更新) |