前言
Mongoose 是一个 Node.js 的 MongoDB 驱动程序,它提供了一种直接面向对象的方式,让 Node.js 应用程序更容易地与 MongoDB 数据库交互。本文将讲解 Mongoose 的中文 API 手册及使用实例,希望能为前端开发者提供详细、有深度和有指导意义的学习资源。
环境准备
在开始使用 Mongoose 前,需要先安装 Node.js 和 MongoDB,并保证它们能够正常工作。具体安装方法请自行查阅官方文档。
安装完成后,我们需要安装 Mongoose,使用如下命令:
npm install mongoose
连接数据库
在使用 Mongoose 前,需要先连接 MongoDB 数据库,使用 mongoose.connect()
方法连接数据库。示例代码如下:
-- -------------------- ---- ------- ----- -------- - -------------------- -------------------------------------------- - ---------------- ----- ------------------- ---- ---------- -- - -------------------- ------------- ------------ -- - ---------------------- ---------- ------- -- ----- ---
配置项说明
useNewUrlParser
:使用新的 URL 解析器,官方建议开启。useUnifiedTopology
:使用新的服务器发现和监视引擎,官方建议开启。
定义数据模型
使用 Mongoose,需要先定义数据模型,即定义数据文档的格式和结构。定义数据模型的方式通常是通过使用 mongoose.Schema
构造函数创建一个 Schema,并使用 mongoose.model
方法将 Schema 转换成一个 Model。示例代码如下:
-- -------------------- ---- ------- ----- -------- - -------------------- ----- ---------- - --- ----------------- --------- - ----- ------- ------- ---- -- --------- ------- ------ - ----- ------- ------- ---- -- -------- - ----- ----- -------- -------- - --- ----- ---- - ---------------------- ------------ -------------- - -----
Schema 配置项说明
type
:数据类型,包括 String、Number、Date、Buffer、Boolean、Mixed、ObjectId、Array。required
:是否必填。unique
:是否唯一。default
:默认值。trim
:是否去除空格。match
:正则匹配。enum
:枚举。min
:最小值。max
:最大值。validate
:自定义验证函数。
常用 API
1. Model.create()
Model.create()
方法用于在数据库中创建新的文档。示例代码如下:
-- -------------------- ---- ------- ----- ---- - ------------------------- ----- -------- - - --------- -------- --------- --------- ------ ------------------- -- --------------------- ----- ----- -- - -- ----- ------------------- ------------------ ---
2. Model.find()
Model.find()
方法用于查询多个文档。示例代码如下:
const User = require('./models/user'); User.find({ username: 'admin' }, (err, users) => { if (err) console.error(err); console.log(users); });
3. Model.findOne()
Model.findOne()
方法用于查询单个文档。示例代码如下:
const User = require('./models/user'); User.findOne({ username: 'admin' }, (err, user) => { if (err) console.error(err); console.log(user); });
4. Model.findById()
Model.findById()
方法用于通过 ID 查询文档。示例代码如下:
const User = require('./models/user'); User.findById('603d5646b8c6d44e109f5619', (err, user) => { if (err) console.error(err); console.log(user); });
5. Model.updateOne()
Model.updateOne()
方法用于更新单个文档。示例代码如下:
const User = require('./models/user'); User.updateOne({ username: 'admin' }, { password: '654321' }, (err, res) => { if (err) console.error(err); console.log(res); });
6. Model.deleteOne()
Model.deleteOne()
方法用于删除单个文档。示例代码如下:
const User = require('./models/user'); User.deleteOne({ username: 'admin' }, (err, res) => { if (err) console.error(err); console.log(res); });
7. Model.find().lean()
Model.find().lean()
方法用于查询多个文档并以 JavaScript 对象的形式返回结果,而不是 Mongoose Document 对象。示例代码如下:
const User = require('./models/user'); User.find().lean().exec((err, users) => { if (err) console.error(err); console.log(users); });
总结
本文介绍了 Mongoose 的中文 API 手册及使用实例,包括数据库连接、数据模型定义和常用 API 的使用等方面。希望读者能够通过本文了解 Mongoose 的基本用法,并能够将其应用到实际项目中。同时,也欢迎读者在评论区分享您的使用心得和经验!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64b123e448841e9894d7967d