mongodb用户和权限

mongodb安全

1、创建管理员权限

db.createUser({"user":"root","pwd":"hongQiaoWHZ_root","roles":["root"]})

2、创建普通用户

db.createUser({"user":"hqw","pwd":"hongQiaoWHZ_lidakang","roles":[{role:"clusterAdmin",db:"admin"},{role:"dbAdmin",db:"admin"},{role:"readWriteAnyDatabase",db:"admin"},{role:"userAdminAnyDatabase",db:"admin"},{role:"backup",db:"project"},{role:"restore",db:"project"},{role:"readWrite",db:"project"}]},{w:"majority",wtimeout:5000})

3、聚合查询

db.tb_project_data.aggregate([{$match:{year:2017,config_id:{$in:[9,10,11,12]}}},{$group:{_id:"aggregate",value:{$sum:"$content"}}}]);

{"aggregate":"tb_project_data","pipeline":[{"$match":{"year":2017,"config_id":{"$in":[9,10,11,12]}}},{"$group":{"_id":"aggregate","value":{"$sum":"$content"}}}]}

1、下载MongoDB,并安装
https://www.mongodb.com/dr/fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-3.4.0-signed.msi/download

2、进入mongodb bin目录下

3、在地址栏输入cmd命令

4、输入:mongod --dbpath ../data
启动mongodb,data跟bin同级的文件夹如果没有自己新建

5、新建一个数据库
建议下载一个可视化工具Robomongo 0.9.0-RC10
https://robomongo.org/download

6、通过连接上自己的mongodb
create  > 127.0.0.1:27017

7、新建一个数据库,右键新建,输入数据库名testdb

8、新建一个数据集合,右键数据库新建collection,输入数据集合名testcollection

-----------------------------------------------------------------------------------------以上是准备工作----------------------------------------------------------------------------------------------------

1、导入:

进入mongodb bin目录下,

mongoimport --host 127.0.0.1 --port 27017 --db  testdb -c testcollection --type=json --file jsontest.json

备注:--type为导入文件个类型,我使用的是json, test.json是在我放置在bin目录下的test.json文件

2、导出:

进入mongodb bin目录下,

mongoexport --host 
127.0.0.1 --port 27017 --db testdb --collection testcollection --out  test.json

备注:文件导出到bin目录下,文件名为test.json

导出csv
mongoexport --host 127.0.0.1 --port 27017 --db testdb --collection -f column1,column2,column3 --csv --out test.txt

mongoexport --host 127.0.0.1 --port 27017 --db testdb --collection testcollection --out
test.json

### 设置 MongoDB 用户权限MongoDB 中设置用户权限涉及多个步骤,包括创建角色、定义权限以及分配这些权限给特定用户。以下是具体操作方法: #### 创建自定义角色 为了更精细地控制访问级别,可以先创建一个具有特定权限的角色。这可以通过 `db.createRole()` 方法完成。 ```javascript use admin; db.createRole({ role: "customReadAdmin", privileges: [ { resource: { db: "test", collection: "" }, actions: ["find"] } ], roles: [] }); ``` 此命令将在 `admin` 数据库中创建一个新的只读角色[^1]。 #### 添加新用户并赋予角色 接着通过 `db.createUser()` 函数添加新的数据库用户,并指定之前创建的角色或其他内置角色作为其权限基础。 ```javascript use test; // 切换到目标数据库 db.createUser({ user: "newUser", pwd: "securePassword!", roles: [{role: "readWrite", db: "test"}, "customReadAdmin"] }) ``` 上述代码片段展示了如何在一个名为 `test` 的数据库里增加一名拥有读写权限的新用户,同时还授予了前面定义好的自定义只读管理员角色。 #### 验证用户权限 一旦设置了用户及其关联的角色之后,应该验证该用户确实获得了预期的权限。可以通过尝试执行某些受限的操作来进行简单的测试,比如查询数据或修改文档内容等。 ```bash mongo -u newUser -p securePassword! --authenticationDatabase test > show collections > db.collectionName.findOne() ``` 如果一切正常,则表示用户已经成功被授予权限并且能够按照设定的方式访问资源[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值