MongoDB 初学者最常用的 MongoDB 命令 [2022]
已发表: 2021-01-06目录
使用 MongoDB 进行日志记录
以下命令适用于使用 MongoDB 登录。
mongo -u <用户名> -p <密码> –authenticationDatabase <db_name> |
注意:用户必须具有正确的凭据和数据库名称才能访问。
创建数据库并选择要使用的数据库
在 MongoDB 中,“ use”命令是创建新数据库的第一步。
句法:
使用 db_name |
执行时,此命令将为特定名称创建一个新数据库。 如果存在具有特定名称的数据库,则它将返回现有数据库。
相同的“使用”命令也用于选择数据库并开始使用。

例子:
假设您正在使用数据库“edudb”开始一个新的教育项目。 那么命令将是:
>使用教育数据库 切换到数据库 edudb |
阅读: MongoDB 真实世界用例:优势和顶级公司
检查当前数据库
您还可以使用命令 db 检查当前数据库,如下所示:
>分贝 教育数据库 |
您需要在数据库中至少有一个文件或文档才能显示在整个列表中。 您可以轻松地使用插入命令来做到这一点。
句法:
> 分贝。 文件. 插入({“名称”:“类”}) |
显示所有当前数据库
您可以使用以下命令通过 show dbs 来检查当前数据库:
>显示数据库 本地0.53443GB 测试0.12332GB 教育数据库0.02423GB |
在 MongoDB 中,测试作为默认数据库存在。 默认情况下,所有集合仅存储在测试中。
您可以使用 MongoDB 命令界面来管理与非 CRUD 操作相关的任务。 该界面使用户能够从服务器获取精确信息、复制当前场景并运行特定的 map-reduce 任务。
还有一些特定的命令可以在当前和管理数据库中运行。
对于 MondDB 中的当前数据库,使用以下 db.runCommand():
db.runCommand( { <command> } ) |
对于 admin 数据库,使用以下 db.adminCommand():
D b。 adminCommand ( { <command> } ) |
要创建集合,请使用以下命令:
db.createCollection(“collectionName”); |
在集合中插入文档:
// // 用于在集合中插入单个文档 // db.<collectionName>.insert({field1: “value”, field2: “value”}) // // 用于在集合中插入多个文档 // db.<collectionName>.insert([{field1: “value1”}, {field1: “value2”}]) db.<collectionName>.insertMany([{field1: “value1”}, {field1: “value2”}]) |
保存和更新文档
这里的“保存”命令可以完成这两个功能,插入一个全新的文档或更新一个现有的文档。
db.<collectionName>.save({“_id”: new ObjectId(“jhgsdjhgdsf”), field1: “value”, field2: “value”}); |
注意:如果有匹配的文档 ID,则更新; 否则,将创建一个新文档。
列出用户、角色和集合
这些命令列出了用户数量、他们的角色和集合。
// // 命令列出当前数据库中的所有集合 // 展示收藏; db.getCollectionNames(); // // 命令来自当前数据库的所有用户 // 显示用户; db.getUsers(); // // 列出所有用户角色的命令 // 显示角色 |
显示集合记录
// // 检索所有记录的命令 // db.<collectionName>.find(); // // 此命令获取前 10 个结果; // db.<collectionName>.find().limit(10); // // 此命令按 id 检索记录 // db.<collectionName>.find({“_id”: ObjectId(“someid”)}); // // 此命令从具有对象的特定集合属性中获取值,并分配值为 0 或 1。 // db.<collectionName>.find({“_id”: ObjectId(“someid”)}, {field1: 1, field2: 1}); db.<collectionName>.find({“_id”: ObjectId(“someid”)}, {field1: 0}); // 排除字段1 // // 此命令检查数据库中的集合计数 // db.<collectionName>.count();
|
对于管理命令
此命令允许有关集合详细信息的信息,包括总大小、存储和多个统计信息。
// // 此命令检索收集统计信息 // db.<collectionName>.stats() db.printCollectionStats() // // // 此命令检索读取和写入的延迟统计信息以及特定数量的操作 // db.<collectionName>.latencyStats() // // 此命令检索索引和数据的特定集合大小 // db.<collectionName>.dataSize() // 获取集合的大小 ![]() db.<collectionName>.storageSize() // 获取存储文档的总大小 db.<collectionName>.totalSize() // 获取集合数据和索引的总大小(以字节为单位) db.<collectionName>.totalIndexSize() // 获取集合中所有索引的总大小 |
从数据库注销:
db.logout() |
您可以在 MongoDB 中使用不同类型的命令,首先是:
用户命令
数据库操作
1. 用户命令
聚合命令
姓名 | 描述 |
总计的 | 在组中执行聚合任务的命令。 |
数数 | 命令来统计特定的文档数量。 |
清楚的 | 用于显示集合中特定键的不同值的命令。 |
地图减少 | 在大型数据集中执行 map-reduce 任务聚合的命令。 |
地理空间命令
姓名 | 描述 |
地理搜索 | 通过 MongoDB haystack 索引函数执行地理空间查询的命令。 |
查询和写操作命令
姓名 | 描述 |
删除 | 删除一个或多个文档的命令。 |
找 | 在视图中选择单个或多个文档的命令。 |
插入 | 在视图中插入一个或多个文档的命令。 |
更新 | 更新一个或多个文档的命令。 |
查询计划缓存命令
姓名 | 描述 |
计划缓存清除 | 从集合中删除缓存查询计划的命令。 |
planCacheClearFilters | 从集合中清除索引过滤器的命令。 |
planCacheListFilters | 列出集合中的索引过滤器的命令。 |
planCacheSetFilter | 从集合中设置索引过滤器的命令。 |
2. 数据库操作
身份验证问题
姓名 | 描述 |
认证 | 在验证用户名和密码后启动经过身份验证的会话的命令。 |
随机数 | 生成一次性密码以进行身份验证的命令。 |
登出 | 命令终止给定的已验证会话。 |
用户管理命令
姓名 | 描述 |
创建用户 | 创建新用户的命令。 |
删除用户 | 删除特定用户的命令。 |
更新用户 | 更新特定用户数据的命令。 |
用户信息 | 从特定的单个或多个用户检索信息的命令。 |
角色管理命令
姓名 | 描述 |
创建角色 | 建立特定用户角色和权限的命令。 |
丢弃角色 | 从数据库中删除特定用户定义角色的命令。 |
更新角色 | 更新特定用户定义角色的命令。 |
复制命令
姓名 | 描述 |
应用操作 | 使用当前数据集添加 oplog 条目的命令。 |
是大师 | 显示当前副本集中特定用户的信息以检查它是否是主用户的命令。 |
replSetInitiate | 初始化特定新副本集的命令。 |
分片命令
姓名 | 描述 |
添加分片 | 添加新分片或分片集群的命令。 |
listShards | 返回预配置分片列表的命令。 |
移除碎片 | 从集群中删除特定分片的命令。 |
会话命令
姓名 | 描述 |
中止事务 | 中止事务的命令。 |
结束会话 | 在超时之前使会话过期的命令。 |
杀死所有会话 | 杀死所有会话的命令 |
刷新会话 | 刷新空闲会话的命令。 |
开始会话 | 命令开始一个新的会话。 |
行政命令
姓名 | 描述 |
干净的 | 表示内部命名空间的命令。 |
创建 | 创建集合或特定视图的命令。 |
降低 | 从当前数据库中删除特定集合的命令。 |
重新索引 | 为特定集合重建所有索引的命令。 |
关掉 | 命令关闭 mongos 或 mongod 进程。 |
免费监控命令
姓名 | 描述 |
设置免费监控 | 它允许用户在运行时启用或禁用免费监控。 |
审计命令

姓名 | 描述 |
日志应用消息 | 命令添加或发布带有当前审核日志的自定义消息。 |
命令响应
在每次执行命令时,MongoDB 都会检索具有特定字段的响应:
场地 | 描述 |
好的 | 指示命令是成功 (1) 还是失败 (0)。 |
操作时间 | 这表示在 MongoDB 中使用 oplog 条目中的时间戳执行操作的特定时间。 如果操作不运行,则不会生成任何 oplog 条目。 然后操作时间返回; local:从最近的条目到 oplog。 对于多数和可线性化的读取,来自最近通过 oplog 的多数确认条目的时间戳。 |
$clusterTime | 这定义了订购特定操作的逻辑时间。 |
结帐: MongoDB 中的 CRUD 操作
接下来是什么?
如果您有兴趣了解有关大数据的更多信息,请查看我们的 PG 大数据软件开发专业文凭课程,该课程专为在职专业人士设计,提供 7 多个案例研究和项目,涵盖 14 种编程语言和工具,实用的动手操作研讨会,超过 400 小时的严格学习和顶级公司的就业帮助。
从世界顶级大学在线学习软件开发课程。 获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。
