MongoDB优点:面向文档存储(类JSON数据模式简单而强大);动态查询;全索引支持,扩展到内部对象和内嵌数组;查询记录分析;快速,就地更新;高效存储二进制大对象(比如照片和视频);复制和故障切换支持;Auto- Sharding自动分片支持云级扩展性;MapReduce 支持复杂聚合;商业支持,培训和咨询。MongoDB缺点:不支持事务;MongoDB占用空间过大;MongoDB没有如MySQL那样成熟的维护工具。
一、客户端连接
- 使用navicat连接mongodb时报错:重新启动服务,添加
--bind_ip_all
参数
mongod --dbpath=/usr/local/mongodb-4.0.9/data --logpath=/usr/local/mongodb-4.0.9/log/mongo.log --logappend --fork --bind_ip_all
- 使用
Robo 3T
连接,下载
二、库和集合
MongoDB | 关系数据库 |
---|---|
数据库(database) | 数据库(database) |
集合(collection) | 表(table) |
文档(document) | 行(row) |
- 查看库
show dbs
或show databases
- 使用库
use db
- 当前所在库
db
- 查看表(集合)
show collections
或show tables
- 查看内存使用
db.serverStatus().mem
- 查看存储引擎
db.serverStatus().storageEngine
- 查看当前版本
db.version()
三、增删改查
- 插入
1 | db.collections.insertOne( |
- 删除
1 | db.collections.remove( |
- 更新
1 | db.collections.update( |
- 查找
1 | db.collections.find({}) |
正则查找
db.game_users.find({_id:{$regex:/^9192/}},{_id:1})
或db.game_users.find({_id:/^9192/},{_id:1})
删除数据库
- use study;
- db.dropDatabase();
查看所有参数值
use admin;db.adminCommand({getParameter:"*"})
查看数据文件和日志文件路径
db.runCommand("getCmdLineOpts")
设置从库可读(4.0版本以前)
db.getMongo().setSecondaryOk();
1 | >show dbs |