Mongoose 常用操作总结

阅读时长 7 分钟读完

Mongoose 是一个提供 MongoDB 数据库操作的 Node.js 库,它的操作封装了 MongoDB 的原始 API,使得操作更加方便和高效。本文将对 Mongoose 常用的操作进行总结和说明,希望对前端开发者开发 MongoDB 数据库提供一些指导和帮助。

安装和引入

安装 Mongoose 很简单,使用 npm 即可:

在代码中引用 Mongoose:

连接数据库

在使用 Mongoose 的操作之前,我们需要先连接数据库。连接数据库有两种方式,一种是使用 mongoose.connect 函数直接连接数据库:

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

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

另一种是获取 MongoDB 的客户端连接对象后再使用 Mongoose 的 mongoose.createConnection 方法来连接数据库:

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

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

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

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

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

创建模型

在 Mongoose 中,我们需要先定义数据模型,然后再对数据进行操作。创建模型需要使用 mongoose.Schema 函数来定义模型的结构:

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

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

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

上面的代码中,我们定义了一个名为 Person 的模型,模型结构有三个字段:nameageemail。模型的第一个参数是模型的名称,第二个参数是模型的结构。其中,mongoose.Schema 函数会返回新的模型结构定义,可以随意对其进行修改和定制。

增加数据

增加数据可以使用 Model.create 函数来进行:

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

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

使用 Model.create 函数可以传入单个文档或者文档数组,也可以通过回调函数来处理增加数据的结果。

查询数据

查询数据可以使用 Model.findModel.findOneModel.findById 函数来进行。其中,Model.findModel.findOne 函数可以使用 MongoDB 的查询条件作为参数,例如:

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

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

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

Model.findById 函数可以通过 ID 来查询数据:

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

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

修改数据

修改数据可以使用 Model.updateModel.findByIdAndUpdate 函数来进行。其中,Model.update 函数可以更新所有符合条件的文档,而 Model.findByIdAndUpdate 函数只会更新第一个符合条件的文档,并返回更新后的文档对象:

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

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

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

删除数据

删除数据可以使用 Model.removeModel.findByIdAndRemove 函数来进行。其中,Model.remove 函数可以删除所有符合条件的文档,而 Model.findByIdAndRemove 函数只会删除第一个符合条件的文档,并返回删除的文档对象:

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

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

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

结语

本文对 Mongoose 常用的操作进行总结和说明,包括连接数据库、创建模型、增加数据、查询数据、修改数据和删除数据。了解并熟练掌握这些操作,将有助于前端开发者更加高效地开发 MongoDB 数据库。

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

纠错
反馈