MongoDB

一个面向文档可扩展的高性能开源数据库,典型的应用场景有网页数据,缓存,代替文档存储等。

命令的记忆和使用是一门基本功,这里准备了速查表,可以做案头手册。















































































































































































































库操作

切换或使用数据库

use mymongodb

看所有的库

show dbs

删除当前使用数据库

db.dropDatabase()

克隆所有的库到当前连接

db.cloneDatabase(“192.160.1.1”)

复制指定的库

db.cloneDatabase(“sourcedb”,”targetdb”,”192.168.1.1”)

查看当前数据库

db.getName()

当前数据库状态

db.stats()

当前数据库版本

db.version()

查看当前数据库的连接

db.getMongo()

用户操作

添加用户

db.addUser(“user_name”, “password”, true)

用户认证

db.auth(“username”, “password”)

显示所有用户

show users;

删除用户

db.removeUser(“username”);

集合基本信息

查询集合的数据条数

db.myCollection.count();

查看数据空间大小

db.myCollection.dataSize();

查看集合所在的数据库

db.myCollection.getDB();

当前聚集的状态

db.myCollection.stats();

当前集合的总大小

db.myCollection.totalSize();

集合储存空间大小

db.myCollection.storageSize();

Shard版本信息

db.myCollection.getShardVersion();

集合重命名

db.myCollection.renameCollection(“targetCollection”);

删除集合

db.myCollection.drop();

集合数据增删改

添加记录

db.myCollection.save({mykey:”t_key”,myvalue:”t-value”});

删除记录

db.myCollection.remove({mykey:”t_key”});

修改记录

db.myCollection.update({condition: xx}, {$set: {field: ‘changefield’}}, false, true);

查询并修改记录

db.myCollection.findAndModify(query: {condition1: {gte: XX}},

    sort: {condition2: -1},

    update: {
set: {target1: 'yy'}, $inc: {target2: 2}}, remove: true});

集合数据查询

查询所有记录

db.myCollection.find();

查询第一条记录

db.myCollection.findOne();

数据去重

db.myCollection.distinct(“fieldname”);

数值区间查询

db.myCollection.find({numfield:{$gte:nn}});

字符串查询

db.myCollection.find({targetfield:/ABC/});

指定字段查询

db.myCollection.find({},{field1:’abc’,field2:nnn});

指定返回条数查询

db.myCollection.find().limit(m).skip(n);

排序

db.myCollection.find().sort({targetfield:-1}); //降序

统计记录数

db.myCollection.find({target: n }).count();

索引操作

创建

db.myCollection.ensureIndex({targetfield: 1});

查询所有索引

db.myCollection.getIndexes();

查询所有索引大小

db.myCollection.totalIndexSize();

查询索引信息

db.myCollection.reIndex({targetfield: 1});

删除指定索引

db.myCollection.dropIndex(“targetfield”);

删除所有索引

db.myCollection.dropIndexes();

辅助命令

查询错误信息

db.getPrevError();

清空错误信息

db.resetError();

各种帮助信息

help; db.help(); db.myCollection.help(); db.myCollection.find().help(); rs.help();

本速查表,暂不包含集群和sharding 的相关命令。