MongoDB总结整理1 --- 一些简单的命令

本文介绍了作者在实际项目中使用MongoDB的一些心得,并总结了几条基本的MongoDB操作命令,包括查看数据库、集合及数据的操作等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开篇

四个月之前本就打算系统的学习一下mongo,但没想到一推就推到了现在(于是早上的时候问了自己好多遍“时间都去哪了!!!”),好在由于项目里一直都有用到mongo,因此经过四个月的项目实战,我也对mongo有了些许自己的理解,这个时候再去整理mongo,或许真的可以更得心应手一些。

1. 几条简单的命令

以我个人为例,真实开发环境中,几乎没有在服务器上通过敲命令的方式查看过mongo数据库,一般都会使用可视化工具。因此
本篇博客先整理几条简单的mongo命令,如果哪天觉得有必要就在本篇后面再多加一些。

show dbs					#查看当前mongo server上有多少个数据库
db							#查看现在正在访问的是哪个数据库
use nrsc					#切换到nrsc数据库,如果nrsc数据库不存在,mongo会自动创建一个nrsc库----很牛叉的地方
show collections			#查看当前数据库里所有的集合----------mongo里的集合就是关系型数据库里的标 
db.book.find()	 			#查看book集合里的所有数据
db.book.find().pretty()		#查看book集合里的所有数据,并对其进行格式化
db.users.find().count()		#查看user集合里一共有多少条数据
db.users.drop();			#删除当前数据库中的users集合
db.users.insert(user1); 	#向当前数据库的users集合里插入一条user数据---如users集合数据库里没有,mongo会自动创建一个
exit						#退出mongo

看一下上面命令的运行结果:
在这里插入图片描述

### MongoDB 用户管理模块总结与整理 MongoDB 提供了基于角色的访问控制(Role-Based Access Control, RBAC)机制,用于实现用户身份验证和权限管理。该机制支持精细的权限划分,确保数据库的安全性与可控性。 #### 身份验证 MongoDB 支持多种身份验证方式,包括 SCRAM(Salted Challenge Response Authentication Mechanism)、LDAP 代理认证、Kerberos 认证以及 x.509 证书认证等。其中,SCRAM 是默认的身份验证机制,适用于大多数应用场景。用户在连接数据库时需要提供用户名、密码及对应的身份验证数据库[^1]。 ```python # 示例代码:使用 Python 连接 MongoDB 并进行身份验证 from pymongo import MongoClient client = MongoClient('mongodb://admin:password@localhost:27017/admin') db = client['admin'] print(db.list_collection_names()) ``` #### 角色与权限 MongoDB 中的角色定义了用户可以执行的操作及其作用范围。系统内置了多个预定义角色,如 `read`、`readWrite`、`dbAdmin`、`userAdmin`、`clusterAdmin` 等。这些角色可以在特定数据库或整个集群范围内生效。例如,`userAdmin` 角色允许用户管理其他用户的权限,而 `clusterAdmin` 则具有对整个 MongoDB 集群的完全控制权[^1]。 自定义角色也支持通过 `db.createRole()` 方法创建,并可结合聚合权限定义复杂的行为策略。这种机制为大型组织提供了更高的灵活性与安全性。 #### 用户管理操作 MongoDB 提供了丰富的命令用于用户管理,包括创建、修改、删除和查询用户信息。创建用户的基本语法如下: ```javascript use mydb db.createUser( { user: "myUserAdmin", pwd: "abc123", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } ) ``` 上述命令在 `mydb` 数据库中创建了一个具有 `userAdminAnyDatabase` 角色的用户,该角色可在所有数据库中管理用户权限。 #### 安全配置 为了进一步提升安全性,MongoDB 建议启用 TLS/SSL 加密通信,防止数据在网络传输过程中被窃取或篡改。此外,还可以通过 IP 白名单限制客户端访问来源,结合防火墙规则构建多层防护体系。 #### 审计与日志 MongoDB 支持审计功能,记录用户操作行为并输出至指定的日志文件或远程服务器。这一特性有助于安全审计和故障排查。启用审计的方式通常是在配置文件中添加以下内容: ```yaml auditLog: destination: file path: /var/log/mongodb/audit.log format: JSON ``` 此配置将审计日志写入 `/var/log/mongodb/audit.log` 文件中,格式为 JSON。 #### 多租户环境下的用户隔离 在多租户环境中,MongoDB 可通过数据库级别的隔离机制实现不同用户组之间的数据隔离。每个租户拥有独立的数据库,并仅能访问其所属数据库中的集合。管理员可通过分配适当的权限来控制租户间的访问边界,从而保障数据隐私与一致性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nrsc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值