简介
fendjs-model-mongo 是一个在 Node.js 中操作 MongoDB 的 ORM 库,基本实现了与 ORM 概念相同的“数据模型、数据关系、数据操作”的三大功能,使用 JavaScript 封装了 MongoDB 数据操作接口,提供了更加统一的访问接口,简化了应用程序的开发流程。
这篇文章将介绍 fendjs-model-mongo 的基本用法和进阶用法。
安装
通过 npm 安装 fendjs-model-mongo:
npm install fendjs-model-mongo
基础用法
首先,引入 fendjs-model-mongo,连接 MongoDB 数据库:
const FendJSModelMongo = require('fendjs-model-mongo') const mongoDB = new FendJSModelMongo({ url: 'mongodb://localhost:27017', database: 'test' })
数据模型
定义一个简单的学生数据模型 Student
,表示学生姓名、学号、性别和出生日期:
-- -------------------- ---- ------- ----- ------- - ---------------- ----------- ----------- ------- - ----- - ----- ------- --------- ---- -- ---------- - ----- ------- --------- ---- -- ------- - ----- ------ -- --------- - ----- ---- - - --
数据操作:增删改查
创建数据
// create 用法 const john = new Student({ name: 'John', studentId: '20191001' }) // save 用法 john.save()
查询数据
// find 用法 const students = await Student.find({}) // findOne 用法 const john = await Student.findOne({ studentId: '20191001' })
更新数据
// update 用法 await Student.updateOne({ studentId: '20191001' }, { gender: 'male' })
删除数据
// deleteOne 用法 await Student.deleteOne({ studentId: '20191001' }) // deleteMany 用法 await Student.deleteMany({ gender: 'male' })
进阶用法
手动映射集合名
将数据模型的 collection 设置为字符串,可以达到手动映射集合名的目的:
-- -------------------- ---- ------- ----- ------- - ---------------- ----------- ----------- ------- - ----- - ----- ------- --------- ---- -- ---------- - ----- ------- --------- ---- -- ------- - ----- ------ -- --------- - ----- ---- - - --
扩展数据模型
想让 Student
数据模型拥有更多的方法和属性,可以使用 extend 方法来扩展:
-- -------------------- ---- ------- ----- ------- - ---------------- ----------- ----------- ------- - ----- - ----- ------- --------- ---- -- ---------- - ----- ------- --------- ---- -- ------- - ----- ------ -- --------- - ----- ---- - - -- -- ------ ---------------- - -------- -- - ------------------- -------- - -- ------ ----------------------- - -------- -- - ------------------- -- ---- -- --------------- -
定制查询条件
自己定义一些查询条件,便于多处重复使用:
-- -------------------- ---- ------- ----- ------------- - -------- -------- - ------ - ------ - - ----- --------------- - -------- ----- - ------ - --------- - ---- --- --------------- - --- - --- - -- - -- - -- - ----- - - - ----- -------- - ----- ----------------------------------- --------------------
结语
fendjs-model-mongo 功能丰富,使用灵活,这篇文章介绍了其基本用法和进阶用法,适合初学者和进阶用户。在实际项目中,建议阅读官方文档,加深学习。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/95755