mongoDB 基本命令

http://space.itpub.net/?uid-20498361-action-viewspace-itemid-7194911, 超级用户相关

#进入数据库admin
use admin
#增加或修改用户密码
db.addUser(‘name‘,‘pwd‘)
#查看用户列表
db.system.users.find()
#用户认证
db.auth(‘name‘,‘pwd‘)
#删除用户
db.removeUser(‘name‘)
#查看所有用户
show users
#查看所有数据库
show dbs
#查看所有的collection
show collections
#查看各collection的状态
db.printCollectionStats()
#查看主从复制状态
db.printReplicationInfo()
#修复数据库
db.repairDatabase()
#设置记录profiling,0=off 1=slow 2=all
db.setProfilingLevel(1)
#查看profiling
show profile
#拷贝数据库
db.copyDatabase(‘mail_addr‘,‘mail_addr_tmp‘)
#删除collection
db.mail_addr.drop()
#删除当前的数据库
db.dropDatabase()



2, 增删改
#存储嵌套的对象
db.foo.save({‘name‘:‘ysz‘,‘address‘:{‘city‘:‘beijing‘,‘post‘:100096},‘phone‘:[138,139]})
#存储数组对象
db.user_addr.save({‘Uid‘:‘[email protected]‘,‘Al‘:[‘[email protected]‘,‘[email protected]‘]})
#根据query条件修改,如果不存在则插入,允许修改多条记录
db.foo.update({‘yy‘:5},{‘$set‘:{‘xx‘:2}},upsert=true,multi=true)
#删除yy=5的记录
db.foo.remove({‘yy‘:5})
#删除所有的记录
db.foo.remove()

5, 管理
#查看collection数据的大小
db.deliver_status.dataSize()
#查看colleciont状态
db.deliver_status.stats()
#查询所有索引的大小
db.deliver_status.totalIndexSize()

#启动

./mongod     #从命令行,mongod --help可以获取该命令的帮助

#配置(配置文件)

./mongod --config ~/.mongodb.conf   #使用配置文件

#停止数据库

(1)若在前台就直接用:Ctrl+c

(2)若知道进程号,直接用kill -2 pid    #注意千万不要用kill -9,可能导致数据库数据不一致

(3)使用命令:db.shutdownServer()

# 监控

.使用web页面

mongodb在启动时会启动一个http服务,直接用http://ip:28017就可以看到状态

.通过命令开查看

db.runCommand({"serverStatus" : 1})

.通过外部进程

mongostat

.通过第三方插件

如cacti,nagios等系统

#查看数据库状态
(1) db.runCommand({"serverStatus":1})
(2) $MONGO_HOME/bin/mongostat

6,数据库备份

有4种方法备份数据库
(1) 关闭mongod服务后,复制--dbpath参数指定的数据文件。优点速度快,缺点需要停止mongo服务。
(2) 使用mongodump 导出数据,并用mongorestore 导入数据。优点不需要停止mongo服务,缺点在mongodump操作时用户插入的数据可能无法备份出来。
(3) fsync and lock锁定数据库的让用户只能使用read功能,再使用方法b导出并导入数据。优点不需要停止mongo服务,缺点在数据库lock期间用户无法执行insert操作。
(4) 使用slaveDB并且 使用方法c锁定slaveDB,再使用方法b导出并导入数据。优点不需要停止mongo服务,不会影响用户insert操作(推荐使用此方法)。

7,数据库修护

当数据库文件遭到损坏的时候有3种方法修复数据文件
(1) MONGO_HOME/bin/mongod --repair
(2) use test
    db.repairDatabase()
(3) db.runCommand({"repairDatabase":1});

8,查看文档命令

db.<coll>.find()

db.<coll>.findOne()

具体方法可以查看帮助:db.<集合名>.help()

9,如何查看命令的帮助

.打印所有命令列表

db.listCommands()

.显示某个命令的说明

db.commandHelp("isMaster")  //查看isMaster这个命令的说明

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。