学习 MongoDB:入门

2025-05-26

学习 MongoDB:入门

目前,我正在开始扩展我在 MongoDB 方面的知识,并且我决定在这里创建这个系列并与社区分享我获得的所有知识。

让我们开始吧..

目录:

什么是 MongoDB?

MongoDB 是一个 NoSQL 数据库。它与传统的基于 SQL 的数据库不同。为什么不同?首先,它不像 SQL 表那样具有预定义的结构。我们不需要预先定义表的结构。其次,它不使用表,而是使用类似 JSON 的文档,并且是否使用模式由您自行决定。

RDBMS:关系数据库

NoSQL:非 SQL 或非关系数据库或分布式数据库

NoSQL 的优点:

  • 非结构化数据的动态模式。每个文档可以具有唯一的结构。
  • 定义 Schema 是可选的。
  • NoSQL 数据库是水平可扩展的
  • 它使用带有键值对的对象。因此,如果您熟悉 JSON 或 JavaScript 对象,那么理解和使用 NoSQL 会更容易。
  • 最适合存储分层数据。

需要了解的事情

我使用的操作系统和 MongoDB 版本如下。这不会对学习过程造成太大影响,但在继续学习之前了解一下还是很有用的。

  • 操作系统:Ubuntu 18.04 LTS
  • Mongodb版本:4.2.9

安装

安装非常简单,您可以按照 mongodb 文档并在此处安装社区版。如果安装过程中提示您安装 mongodb compass,请安装它。它是一个 GUI 应用程序,可以帮助您以直观的方式可视化数据库。

安装后您将获得以下两个重要信息:

  1. mongod :MongoDB 服务器
  2. mongo:mongo shell,我们可以在其中发出命令并使用数据库

入门

在 Linux 中,启动 MongoDB 非常简单,只需在终端中输入几个命令即可。那就开始吧!

启动 mongod 服务器

# start server
sudo systemctl start mongod

# start server : alternative way
sudo service mongod start

# check if server running
sudo systemctl status mongod

# check if server running : alternative way
sudo service mongod status

# stop server
sudo systemctl stop mongod

# stop server: alternative way
sudo service mongod stop
Enter fullscreen mode Exit fullscreen mode

服务器启动后,我们可以将 mongo shell 连接到正在运行的实例。要访问 mongo shell,请使用以下命令:

mongo
Enter fullscreen mode Exit fullscreen mode

是的,就像输入并按下 Enter 键一样简单mongo

希望你现在处于 shell 状态。可能会出现一些警告和其他信息。要清除终端,请输入clsshell 并按 Enter 键,或者按ctrl + L

要退出 shell,请键入exit并按 Enter。

基础知识

在继续之前,让我们讨论一下我们需要知道的一些重要的事情,以便更好地理解 MongoDB。

数据库

在 MongoDB 中,您可以在单个 MongoDB 服务器上拥有多个数据库,以集中方式保存数据。例如,如果您正在开发一个学校应用程序,则可以创建一个学校数据库,用于存储所有集合(类似于 SQL 中的表)。该数据库可以包含学生集合、教师集合等。

使用数据库时需要了解的一个有用命令是:

> show dbs
Enter fullscreen mode Exit fullscreen mode

此命令将显示 mongo 服务器上所有可用的数据库。要在数据库之间切换,只需输入以下命令:

> use <database name>
Enter fullscreen mode Exit fullscreen mode

收藏

集合就像 SQL 中的表。它将记录集中保存。例如,您可以创建一个学生集合,在其中存储所有学生的记录。这些记录中可以包含学生的姓名、年龄、班级、科目、百分比等信息。

documents一个集合在一个地方保存多个。

我们将在后续文章中进一步讨论收藏品。

一些有用的集合命令如下:(切换到数据库以use <database name>使用这些命令)

# show all the collections in db
> show collections

# using a collections
> db.<collection name>.find()
Enter fullscreen mode Exit fullscreen mode

文件

文档是以类似 JSON 格式保存您的信息的主要记录。

{
   "name": "Ash Ketchum",
   "age": 20,
   "subjects": ["Math", "Science", "History", "English"],
   "standard": 8
}
Enter fullscreen mode Exit fullscreen mode

创建文档就像在 JavaScript 中创建对象一样简单。您可以嵌套值。文档内部可以嵌套文档。您可以拥有数组、对象、布尔值、数字、字符串等。这使得 MongoDB 非常适合需要嵌套的分层数据。

需要注意的是,Document 的结构并不是固定不变的,也就是说,我们没必要定义所有 Document 中的所有字段。这使得 MongoDB 对于非结构化数据具有灵活性。

我们将在后续文章中了解有关文档的更多信息。


这篇就到这里。下一篇会讲解基本的 CRUD 操作。

非常感谢您的任何建议。

希望您发现它有用并且从中学到一些新的东西。

祝您编码愉快 :)

下一篇: 基本 CRUD 操作

文章来源:https://dev.to/paras594/learn-mongodb-getting-started-55nk
PREV
在 JavaScript 中使用“var”的 3 个理由
NEXT
如何向 5 岁孩子解释 JavaScript 闭包