在 Node.js 中, Mongoose 是一款流行的 MongoDB 驱动器,用于在应用程序中定义、访问和操作 MongoDB 数据库。
安装
使用 npm 包管理器进行安装:
npm install mongoose --save
引入
为了使用 Mongoose,需要在项目中引入它。与其他 Node.js 模块一样,可以通过 require() 函数进行引入。
const mongoose = require('mongoose');
连接 MongoDB
在使用 Mongoose 前,需要先连接 MongoDB 数据库。
-- -------------------- ---- ------- ------------------------------------------------------------- - ---------------- ----- ------------------- ---- --- ----------------------------------- -- -- - --------------------- ---------- ---- -- --------------------------------- --- ------------------------------- ----- -- - --------------------- ---------- ------ - - ----- --- -------------------------------------- -- -- - --------------------- --------------- ---
此处的 mongodb://localhost:27017/mydb
是 MongoDB 数据库的连接字符串,mydb 是数据库名称。
创建 Schema
在 Mongoose 中,Schema 是用于描述数据结构的一种方式。Schema 模型传达了数据对象的形式和属性,以及它们如何存储在 MongoDB 中的规则。
-- -------------------- ---- ------- ----- ------ - ---------------- ----- ------------ - --- -------- ----- - ----- ------- --------- ---- -- ---- - ----- ------- --------- ---- -- ------ - ----- ------- --------- ----- ------- ---- - --- ----- ------ - ------------------------ --------------
在上面的代码中,定义了一个名为 personSchema
的 Schema,它包含了 name
,age
和 email
字段,使用 mongoose.model()
方法将 personSchema
转换为模型对象,并将其储存在 Person 变量中。
创建文档
现在可以使用 Person 模型创建文档并将其保存到 MongoDB 中。
-- -------------------- ---- ------- ----- --------- - --- -------- ----- ------- ---- --- ------ ---------------- --- -------------------- -- - -- ----- - ------------------- - - ----- - ---- - ------------------- ----- -- ----------- - ---
在上面的代码中,创建了一个名为 newPerson
的 Person 对象,并将其保存在数据库中。这是通过调用 save()
方法实现的。
如果有错误发生,将输出错误信息。如果没有错误发生,则输出“Person added to database"。
查询文档
可以使用 find()
方法查询 MongoDB 中的文档。例如,要查询年龄为 30 的人:
-- -------------------- ---- ------- ------------- ---- -- -- ----- ------- -- - -- ----- - ------------------- - - ----- - ---- - -------------------- - ---
此外,还有一些其他的操作可以用于查询、更新和删除 MongoDB 中的文档,详见 Mongoose 官方文档。
结束连接
在应用程序结束时,应关闭与 MongoDB 的连接。
process.on('SIGINT', () => { mongoose.connection.close(() => { console.log('Mongoose connection closed'); process.exit(0); }); });
在上面的代码中,process
对象监听了 SIGINT 事件,即当进程收到中断信号时运行。mongoose.connection.close()
方法用于终止与 MongoDB 的连接,process.exit(0)
用于结束进程。
总结
在本篇文章中,介绍了 Mongoose 模块的引入和使用,包括连接 MongoDB、创建 Schema、创建文档、查询文档以及结束连接等方面。希望读者能够通过本文全面掌握 Mongoose 模块的使用方法。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64c08d2283d39b48814d9930