一、基本知识
1、windows下安装
下载安装包安装完成后,创建\data\db目录。
执行 ...\mongodb\bin\mongod --dbpath "...\data\db"
在...\mongodb下创建mongod.cfg(配置文件),写入配置信息:
dbpath=...\mongodb\data\db
logpath=...\mongodb\data\log\mongo.log
配置windows服务:
...\mongodb\bin\mongod --config "...\Mongodb\mongo.config" --install --serviceName "MongoDB"
启动mongodb后,在浏览器输入http://localhost:27017 ,显示正常后即可。
2、基本操作
连接数据库:...\mongodb\bin\mongo.exe,
查看数据库:show dbs(管理员可以查看所有数据库,普通用户只能看到自己所属的库)
打开(创建)数据库:use dbnane
删除数据库:db.dropDatabase()
创建集合(表):show collections(tables),db.collection_name.insert({a:'A',b:'B'....})
删除集合:db.collection_name.drop()
删除文档:db.collection.remove(,)
更新集合(文档):
db.collection.update({query},{update},{multi:true(更新多行)})
{update}= $set : { "colname" : "value",..}
查询文档:db.collection_name.find(query, projection),query即为查询条件,可选;projection为查询内容(字段),可选,默认省略。
AND条件:db.collection_name.find({key1:value1, key2:value2})
OR条件:
db.collection_name.find(
{
$or: [
{key1: value1}, {key2:value2}
]
}
)
大于操作符 - gt : 100}})(>100)
大于等于操作符 - $gte
小于操作符 - $lt
小于操作符 - $lte
查看索引:>db.col.getIndexes()
创建索引:>db.col.createIndex({"title":1}),1为升序,-1为降序。
3、备份与恢复
备份:>mongodump -h dbhost -d dbname -o dbdirectory(默认在bin\dump)
恢复:>mongorestore -h <:port> -d dbname (备份路径)
4、监控
db.stats()
...\mongodb\bin\mongotop
二、用户管理
1、配置
默认只能本机访问,并且不需要密码。
创建数据库管理员:
use admin
db.createUser({user:"root",pwd:"password",roles:["root"]})
db.createUser(
{ user: "admin",
pwd: "password",
roles: [{role: "userAdminAnyDatabase", db: "admin"}]
}
)
mongo.config增加auth=on,重启MongoDB服务后,登录数据库 mongo ip:port/dbname -u username -p password
2、创建用户
use dbname
db.createUser({ user: "username", pwd: "password", roles: [{ role: "role", db: "dbname" }] })
数据库用户角色:read、readWrite;
数据库管理角色:dbAdmin(数据库管理员)、dbOwner(单库拥有者)、userAdmin(单库用户管理员);
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
备份恢复角色:backup、restore;
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色:root
内部角色:__system
3、查看用户
db.system.users.find()
db.getUsers()
4、删除用户
db.dropUser('username')
5、修改密码
db.changeUserPassword('username','password')
网友评论