介绍
MongoDB 是一款非关系型数据库,在面对复杂数据的存储和查询时表现出色。而 Node.js 则是一门非常适合构建高可扩展性应用的技术。在许多场合下,将 MongoDB 和 Node.js 相结合可以取得更好的效果。
Mongoose 是 Node.js 最受欢迎、被广泛使用的 MongoDB 类库。它有许多不错的特性,可以极大地简化 MongoDB 的使用。比如使用 Mongoose 可以方便地进行数据库连接、定义数据模板和完成复杂的数据库查询。
在本篇文章中,我们将了解如何使用 Mongoose 实现 MongoDB-Node.js 操作实战。
安装及基本设置
使用 Mongoose,需要首先安装它。打开命令行,进入您的项目并输入以下命令:
npm install mongoose --save
如上所述,这个命令将在本地项目文件夹下的 node_modules
目录中安装 Mongoose。
在您的项目中使用 Mongoose 前,需要连接 MongoDB 数据库。从 Mongoose 5.7.5 版本开始,不再推荐使用原生的 MongoDB 驱动程序来连接数据库。相反,您应该使用 mongoose.connect
方法。示例如下:
const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test', { useNewUrlParser: true, useUnifiedTopology: true });
上面的代码将连接名为 test
的本地 MongoDB 数据库。你可能需要做出一些调整以适应你的环境。更多配置参数请参见 配置参数。
定义模型
在开始使用 Mongoose 转换数据之前,需要定义一个 Mongoose 模型。模型是 Mongoose 在数据库中存储数据的方式。简而言之,模型是指定数据到数据库中所需的全部信息。这包括了文档验证、方法定义和集合名称等等。
以下是一个简单的例子,用于说明如何使用 Mongoose 定义模型:
-- -------------------- ---- ------- ----- -------- - -------------------- ----- ------ - ---------------- ----- ---------- - --- -------- ------ ------- ------- ------- ---------- ------ --- -------------- - ---------------------- ------------
在上面的例子中,我们定义了一个名为 Book
的模型,并指定了它由 title
、author
和 publisher
这三个属性构成。然后,使用 module.exports
将 Book
导出,以便在其他文件中使用。
增删查改
使用 Mongoose 可以非常方便地完成增删查改的操作。以下是一个简单的例子,用于说明如何使用 Mongoose 完成常见的数据库操作。
增
-- -------------------- ---- ------- ----- ---- - ------------------------- --- -------- - --- ------ ------ ------------------- ------- --------- -- ------- ---------- --------- --- ------------------- ----- -- - -- ----- - ------------------- -- ----- - ---- - ------------------- -- ------ - ---
在上面的例子中,我们首先导入了 Book
模块,然后创建了一个新的文档。最后,使用 save
方法将新的文档保存到数据库中。
删
-- -------------------- ---- ------- ----- ---- - ------------------------- ---------------------- -------------------- ----- ------- -- - -- ----- - ------------------- -- ----- - ---- - --------------------- -- -------- - ---
在上面的例子中,我们使用 deleteOne
方法删除了标题为 JavaScript高级程序设计
的一本书。
查
-- -------------------- ---- ------- ----- ---- - ------------------------- ------------------ --------- -- -------- ----- ------ -- - -- ----- - ------------------- -- ----- - ---- - ------------------- -- ------- - ---
在上面的例子中,我们使用 find
方法查找了作者为 Nicholas C. Zakas
的所有书籍。
改
-- -------------------- ---- ------- ----- ---- - ------------------------- ---------------------- -------------------- ----------- ----------- ----- ------- -- - -- ----- - ------------------- -- ----- - ---- - --------------------- -- -------- - ---
在上面的例子中,我们使用 updateOne
方法将书籍标题为 JavaScript高级程序设计
的出版社修改为 中国电力出版社
。
结论
本文简要介绍了 MongoDB 和 Node.js 如何相结合,并阐述了 Mongoose 使用的基本设置。同时,我们还演示了如何使用 Mongoose 执行常见的数据库操作。
在您的下一个项目中,如果您需要一个强大的、扩展性强的数据库,那么 MongoDB 和 Mongoose 将是您最佳的选择。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67455d1ec1a23897ea929653