MongoDB是NoSQL数据库系统中比较流行的数据库之一。它也是最接近关系型数据库的,一个数据库可以包含多个集合(Collection),类似于关系数据库中的表;而每个集合中可以存储一组由列标识的记录,列是可以自由定义的,非常灵活,这就类似于关系数据库表中的每一条记录。
MongoDB Database常用命令
- 连接数据库
mongo --host xx.xx.xx.xx -u 用户名 -p 密码 --authenticationDatabase admin
- Help查看命令提示
db.help();
db.yourCollection.help();
- 显示所有数据库
show dbs;
- 切换/创建数据库
use XXX;
- 查看当前数据库
db;
db.getName();
- 删除当前使用的数据库
db.dropDatabase();
- 显示当前db状态
db.stats();
- 当前db的版本
db.version();
- 查看当前db的连接服务器机器地址
db.getMongo();
MongoDB Collection集合命令
- 创建一个集合(在 MongoDB 中,你不需要创建集合。当你插入一些文档时,MongoDB 会自动创建集合。)
// 创建成功会显示{"ok": 1}
db.createCollection("log", {capped : true, size : 5242880, max : 5000 }); // 此命令将创建一个名为log的集合,该集合的最大大小为 5 MB,最多 5000 个文档。
// 判断集合是否为定容量
db.collName.isCapped();
2. 得到指定名称的集合
db.getCollectionName("log");
- 得到当前db的所有集合
show collections;
db.getCollectionNames();
- 显示当前db所有集合索引的状态
db.printCollectionStats();
- 查询当前集合的数据条数
db.yourCollection.count();
- 查看当前集合数据空间大小
db.yourCollection.dataSize();
- 获取当前集合所在的db
db.yourCollection.getDB();
- 获取当前集合的状态
db.yourCollection.stats();
- 获取集合总大小
db.yourCollection.totalSize();
- 获取集合储存空间大小
db.yourCollection.storageSize();
- 集合重命名
db.yourCollection.renameCollection("newName");`
- 删除当前集合
db.yourCollection.drop();
查询
- 查询所有记录
db.yourCollection.find();
db.yourCollection.find().pretty(); // 使用易读的方式读取数据
- 查询某列组成的数据(去重)
db.yourCollection.distinct("name"); // 若多个name值为“张三”, 只会查出一个张三
- 按条件查询
db.yourCollection.find({ name: "张三"' }); // 查询name为“张三”的行(document)
db.yourCollection.find({ age: { <: 22 }