美文网首页
MongoDB知识点

MongoDB知识点

作者: Quick_5413 | 来源:发表于2021-03-19 10:02 被阅读0次

一、基本知识
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:db.collection_name.find({col_name : {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')

相关文章

网友评论

      本文标题:MongoDB知识点

      本文链接:https://www.haomeiwen.com/subject/oxcvcltx.html