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 课程、高级证书课程或硕士课程,以加快您的职业生涯。

引领数据驱动的技术革命

IIIT Bangalore 大数据高级证书课程