MongoDB 在 Node.js 应用中的使用实践

阅读时长 7 分钟读完

前言

在开发 Web 应用时,数据存储是很关键的一环。传统的关系型数据库以及 NoSQL 数据库等,选择哪一种适合自己的应用并不是一件容易的事。其中,MongoDB 作为较为流行的 NoSQL 数据库,支持快速的数据存储以及高并发处理,可以很好地适配 Node.js 的应用场景,本文将对 MongoDB 在 Node.js 应用中的使用进行详细介绍。

MongoDB 基本概念

MongoDB 是由 C++ 语言编写的,面向文档型数据库系统。与关系型数据库中利用表来存储数据的概念不同,MongoDB 中的数据存储在文档格式的 BSON 中,并且可以使用嵌套文档和数组。为了更好的理解 MongoDB,我们需要先搞清楚一些基本概念:

  • 集合(collection):MongoDB 中文档的集合,类似于关系型数据库中的表。不同点在于集合中可以存在不同的文档格式。

  • 文档(document):MongoDB 中的基本数据单元,采用 BSON 格式存储,可以理解成关系型数据库中的一行数据。

  • 对象 ID:MongoDB 中的唯一标识符,每个文档都必须有一个 _id 属性,如果没有明确指定,则 MongoDB 会自动为其生成。

  • 查询(query):MongoDB 中查询文档所使用的语句。查询可以用于选择文档,删除文档,更新文档以及创建文档。

  • 聚合管道(aggregation pipeline):MongoDB 中的聚合操作,可以对数据进行分组、筛选、排序等操作。

MongoDB 在 Node.js 中的使用

安装 MongoDB Node.js 驱动程序

想要在 Node.js 应用中使用 MongoDB,我们需要先安装 Node.js 的 MongoDB 驱动程序。可以使用 npm 进行安装。

连接 MongoDB 数据库

连接 MongoDB 数据库时,需要指定 MongoDB 数据库的服务器地址、连接的数据库名称以及其他配置项。

-- -------------------- ---- -------
----- ----------- - -------------------------------

----- --- - ----------------------------
----- ------ - -------

------------------------ ----- ------- -- -
  -- ----- -
    ------------------- -- -----
  - ---- -
    ---------------------- ------------ -- ---------

    ----- -- - ------------------

    ---------------
  -
---

在上述代码中,我们使用 MongoClient 的 connect 方法连接了 MongoDB 数据库,并指定了数据库名称为 test。

插入数据

使用 insertOne 方法可以向 MongoDB 数据库中插入一条数据。

-- -------------------- ---- -------
----- ----------- - -------------------------------

----- --- - ----------------------------
----- ------ - -------

------------------------ ----- ------- -- -
  -- ----- -
    ------------------- -- -----
  - ---- -
    ---------------------- ------------ -- ---------

    ----- -- - ------------------

    ----- ---------- - ---------------------------

    ----- --- - - ----- ---------- ----- --------- --

    ------------------------- ----- ---- -- -
      -- ----- -
        ------------------- -- -----
      - ---- -
        --------------------- -------- ------------- -- ------------
      -

      ---------------
    ---
  -
---

查询数据

使用 find 方法可以从 MongoDB 数据库中查询数据。

-- -------------------- ---- -------
----- ----------- - -------------------------------

----- --- - ----------------------------
----- ------ - -------

------------------------ ----- ------- -- -
  -- ----- -
    ------------------- -- -----
  - ---- -
    ---------------------- ------------ -- ---------

    ----- -- - ------------------

    ----- ---------- - ---------------------------

    --------------------------------- ----- -- -
      -- ----- -
        ------------------- -- -----
      - ---- -
        ------------------ --- --------- ---------- ---
        ------------------
      -

      ---------------
    ---
  -
---

在上述代码中,我们使用 find 方法查询了 collection 集合中的所有文档,并将查询结果存储在数组中。

更新数据

使用 updateOne 方法可以从 MongoDB 数据库中更新数据。

-- -------------------- ---- -------
----- ----------- - -------------------------------

----- --- - ----------------------------
----- ------ - -------

------------------------ ----- ------- -- -
  -- ----- -
    ------------------- -- -----
  - ---- -
    ---------------------- ------------ -- ---------

    ----- -- - ------------------

    ----- ---------- - ---------------------------

    ----- ------ - - ----- --------- --
    ----- ------ - - ----- - ----- ---- ------------ - --

    ---------------------------- ------- ----- ---- -- -
      -- ----- -
        ------------------- -- -----
      - ---- -
        -------------------- --- -------- ---- ----------
      -

      ---------------
    ---
  -
---

在上述代码中,我们使用 updateOne 方法更新了文档中的 type 属性为 Web application。

总结

MongoDB 是一种非常适合 Node.js 应用场景的 NoSQL 数据库,它的数据存储方式以及查询方式与关系型数据库不同,需要我们掌握一些基本的概念和方法。在实际开发中,我们可以使用 MongoDB Node.js 驱动程序连接 MongoDB 数据库,进行数据的增删改查操作,并充分发挥 MongoDB 在高并发场景下的优势。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/650028e895b1f8cacde5b0ce

纠错
反馈