MongoDB命令汇总

类型 命令 说明
服务器级别 db.serverStatus() 服务器状态信息
db.serverStatus().connections 服务器连接信息
db.fsyncLock() 强制刷新,并加写锁
db.fsyncUnlock() 解锁
db.currentOp()  查看当前锁状态
help 帮助命令
数据库相关命令 use dbname 选择数据库
show dbs 列出所有数据库
db 显示当前数据库   
db.dropDatabase() 删除当前的数据库
db.stats() 查看当前库统计信息
db.printCollectionStats() 查看各collection的统计信息
安全与认证  show users 列出用户
db.addUser("username", "password") 创建普通用户,可读写    
db.addUser("username", "password", true) 创建只读用户
db.removeUser("username")  删除用户
db.auth("username", "password") 用户认证
集合操作   show collections 列出当前数据库的collections
db.createCollection("c1") 创建集合c1
db.c1.drop() 删除集合c1
db.c1.renameCollection("c2") 将集合c1改名为c2
db.c1.count() 显示集合c1的文档数量(行数)
db.createCollection("c3",{capped:true, size:10000}) 创建一个特殊的集合
capped:true,表示该集合的文档结构不能被修改;
size:指定集合的空间大小,插入操作会按顺序APPEND到这个预分配好空间的文件中,超出空间大小,则从文件头开始覆盖原来的数据。不允许删除文档,更新也不能超过原文档的大小。这种集合效率很高,它适用于一些暂时保存数据的场合。
索引操作 db.c1.ensureIndex({name:1}) 在集合c1中的name字段上创建一个顺序索引
db.c1.ensureIndex({name:-1}) 在集合c1中的name字段上创建一个倒序索引
db.c1.ensureIndex({name:1},{unique:1}) 在集合c1中的name字段上创建一个唯一顺序索引
db.c1.ensureIndex({name:1},{background:1}) 在后台创建索引,不会阻塞其它操作
查询 db.c1.getIndexes() 查看c1的索引信息
db.c1.dropIndex("name_1") 删除名为name_1的索引
db.c1.dropIndexes() 删除_id主键索引以外的所有索引
db.c1.totalIndexSize() 显示c1集合所有索引的总大小
增删改 db.c1.insert({_id:1,name:"tom"}) 在集合c1中插入一个新文档
db.c1.update({_id:1},{name:"jack"}) 修改_id为1的文档的name字段
db.c1.remove({name:"jack"}) 删除集合c1中所有name:"jack"的文档
db.c1.remove({name:"tom"},1) 只删除集合c1中第一个name:"tom"的文档
db.c1.save({_id:1,name:"lucy"}) 新增或修改文档内容(主键已存在则修改,主键未指定或不存在则新增)
查询 db.c1.find({_id:5}) select * from c1 where _id=5
db.c1.find({_id:{$lt:5}}) select * from c1 where _id<5
db.c1.find({_id:{$lte:5}}) select * from c1 where _id<=5
db.c1.find({_id:{$gt:5}}) select * from c1 where _id>5
db.c1.find({_id:{$gte:5}}) select * from c1 where _id>=5
db.c1.find({_id:{$gt:0,$lt:9}}) select * from c1 where _id>0 and id<9
db.c1.find({_id:{$in:[1,3,5]}}) select * from c1 where _id in (1,3,5)
db.c1.find({_id:{$nin:[1,3,5]}}) select * from c1 where _id not in (1,3,5)
db.c1.find({_id:{$gt:9},name:"tom"}) select * from c1 where _id>9 and name="tom"
db.c1.find({$or:[{_id:{$gt:3}},{name:"tom"}]}) select * from c1 where _id>3 or name="tom"
db.c1.find({_id:{$gt:7}},{name:1,tel:1}) select name,tel from c1 where _id>7
db.cl.find().sort({name:1}) select * from c1 order by name
db.cl.find().sort({name:1}) select * from c1 order by name desc
db.cl.find().limit(10) select * from c1 limit 10
db.User.find({tel:{$exists:1}}); 查询存在tel字段的文档
db.User.find({name:/a/}); select * from c1 where name like '%a%'
db.User.find({name:/^a/}); select * from c1 where name like 'a%'

你可能感兴趣的:(MongoDB命令汇总)