mongodb创建数据库MongoDB是一种“NoSQL”类型的数据库解决方案,用于存储和查询大数据。老SQL开发人员可能会觉得Mongo有点违反直觉。对于普通的关系数据库,创建一个数据库,然后是表,然后插入记录。MongoDB和NoSQL数据库是完全不同的。事实上,您不需要在Mongo中创建数据库。当你插入一个新的集合时,Mongo会自动创建数据库,所以技术上讲,当你使用NoSQL时,没有“创建数据库”命令。

MongoDB和NoSQL的新功能?在Udemy.com上学习课程,现在就开始吧。

什么是nosql?

在使用MongoDB开始之前,您应该了解NoSQL的一些差异。当您习惯了几年后的旧学校关系SQL查询时,可能很难开始。

NoSQL使用集合的概念。您不再需要主键、外键和关系。相反,您拥有集合,每个集合可以存储您想要的任何内容。这使得NoSQL具有非常多的用途和灵活性。但是,如果数据库管理错误,或者您不确定如何正确地创建和链接数据,那么实际上,您可以创建一个比关系数据库慢得多的接口。

当您插入一个集合或记录时,MongoDB会给它一个ID。此对象ID唯一地标识其他集合中的记录。

在udemy.com的划痕中使用MongoDB与MongoDB一起学习NoSQL。

创建数据库

如果你做了一些研究,找出如何在MongoDB中创建一个数据库,你会发现函数“db.createCollection()”的文档。这实际上是创建数据库的方式,但它在NoSQL中被称为集合。以下代码是集合对象和函数的格式:

db.createcollection(姓名,选项)

例如,假设您想要创建一个名为“Customers”的数据库来存储客户信息。然后使用以下代码:

db.createCollection(“客户”)

请注意上面的代码只需创建集合,但选项被遗漏。这些选项对于集合命令是可选的,但您可能希望包含数据库的大小甚至最大大小。以下代码是设置最大大小为64KB的示例:

db。createCollection(" Customers ", max: 64 * 1024)

请注意,添加1024,因为该值以字节为单位。一个问题要在设置大小或最大大小时要注意。达到大小或最大大小时,MongoDB将开始覆盖旧文件。文档是MongoDB中的记录,因此这可能是设置数据库大小的主要问题。

创建收藏后,您可能希望验证它是否已创建,即使在运行命令时不会收到错误。在MongoDB控制台中,键入“显示DBS”。这将在服务器上显示所有数据库。在这种情况下,您应该看到“客户”集合。

也许您要切换到数据库甚至更改数据库名称。这是NoSQL类似于其他关系数据库的位置。键入“使用客户”切换到新客户数据库,并使其成为活动集合。有一个问题要注意“使用”命令是即使数据库不存在,MongoDB也会制作。此时,如果尚未创建数据库或集合尚未创建。创建文档并在活动数据库中存储它后,它会创建它。

例如,假设您在Mongo键入以下内容:

使用customerr

现在,您意外地输入了Customer数据库的名称。MongoDB仍然使输入错误的数据库处于活动状态,只要您创建一个记录,集合就会被创建。如果不小心,这可能会成为一个问题,因为您将返回去寻找“Customers”集合及其记录,但您将找不到它们。

有趣的是,该系列并未立即创建。如果您输入“Show DB”,您只会看到“客户”集合,而不是错误的“COMERCERR”集合。在使用MongoDB的控制台命令界面时要小心,这是一个诀窍。

将文档添加到您的集合中

既然您拥有您的集合(数据库),您可以添加文档。如果您正在从关系数据库背景学习,则文件与记录相同。表记录和文档之间的主要区别是NoSQL中缺少克制。您可以添加包含一定数量数据的文档,然后下一个文档包含不同的信息集。这是MongoDB和NoSQL数据库的灵活性。

例如,使用我们的“Customers”集合,您可能希望向该集合添加一个用户名。这是客户将用于登录您的系统的用户名。下面的代码展示了如何将一个新文档保存到你的集合中:

db.Customers。保存({用户名:“myuser”})

请注意,您的典型关系数据库引擎和MongoDB之间存在巨大差异。没有插入语句,没有指定列。它只是一个键值对列表,类似于您在其他语言中看到的键,如JSON。

同样不是没有指定的ID,但为此创建了ID。在MongoDB控制台中键入以下命令:

db.customers.find()

看看结果。请注意,存在包含字母数字结果的“ObjectID”部分。这是唯一标识记录的文档的ID。

让我们回到输入错误的“customerr”集合的问题。假设我们激活了错误的数据库,并将这个新的客户文档插入到激活的集合中。在控制台中输入“list dbs”,注意现在已经创建了输入错误的“customerr”数据库。总的来说,这就是MongoDB和NoSQL的优点和缺点。它非常灵活,但是它比关系数据库更容易出错。

如果意外地将记录存储在错误的集合中,您可能希望删除该记录。幸运的是,MongoDB包含一个删除函数。这个函数类似于关系数据库中常用的delete函数。remove命令的基本语法如下:

db.customers.remove({})

在括号内是您需要用来指定删除的标准。在此示例中,我们只有一个带有用户名密钥值对的记录,所以我们可以使用它。以下代码是您如何删除我们插入的文档的方式:

db.customers.remove({username:“myuser”})

上面的代码删除了包含具有“MyEner”值的用户名密钥值对的任何文档。由于您只有一个与此匹配的记录,因此MongoDB将从数据库中删除该记录。

当您有大量文档时,这种类型的删除可能不是很有用。与关系数据库一样,您希望通过使用ID值删除文档来限制任何意外删除。因为这个记录只对一个文档惟一,所以您一定要从数据库中只删除一条记录。下面的代码展示了如何使用ID删除一条记录:

db.customers.remove({“_ID”:ObjectID(“”)});

替换“”与您之前用“查找”函数审核的记录的ID。

这些命令只是NoSQL和MongoDB功能的基本概述。如果您已经习惯了SQL和关系数据库,那么需要一些时间来适应这些新命令。习惯MongoDB和NoSQL的最好方法是实践,Udemy有几种方法MongoDB在线课程让你开始训练。就像任何其他编程语言一样,它需要实践和培训来让它下来并开始用它作为专业人士。

MongoDB的顶级课程

MongoDB - 完整的开发人员指南2021
学者由Maximilian Schwarzmüller, Maximilian Schwarzmüller
4.6 (13,310)
畅销书
完整的MongoDB管理指南
Bogdan Stashchuk
4.5 (837)
MongoDB的完整开发人员指南
斯蒂芬格莱德里
4.6 (6378)
面向Python完全初学者的全栈编程
Abdul Rauf.
4.4 (940)
MongoDB与Spring Boot (Java)
Infybuzz学习
4.4 (277)
实用的MongoDB + PHP:绝对初学者
创意在线学校
4.3 (714)

更多MongoDB课程

MongoDB的学生也学习

让你的团队。领导行业。

通过Udemy为Business获取组织的在线课程和数字学习工具库的订阅。

请求一个演示