@dkvirus/mongoose-tools
v0.0.1
Published
mongoose tools package
Downloads
2
Readme
概述
@dkvirus/mongoose-tools
字面意思,mongoose 工具库。
功能:
- 提供接口快速连接数据库;
- 提供 mongoose 常用 CRUD 接口,返回 Promise,与 async/await 配合使用让代码阅读起来更优雅。
使用
$ npm install @dkvirus/mongoose-tools
连接数据库
// app.js
const mongooseUtils = require('@dkvirus/mongoose-tools');
// 连接数据库
mongooseUtils.connectDb('mongodb://101.132.106.45:27017/test');
继承 Mongoose CRUD 接口
// userDao.js
const mongoose = require('mongoose');
const mongooseUtils = require('@dkvirus/mongoose-tools');
// 表结构
const UserSchema = new mongoose.Schema({
username: String,
password: String,
});
// 注册模型
const UserModel = mongoose.model('test_user', UserSchema);
// 继承 Mongoose CRUD 接口
class UserDao extends mongooseUtils.Crud {
constructor (model) {
super(model);
}
}
// 创建实例对象
const userDao = new UserDao(UserModel);
/**
* 实例对象中拥有父类的方法:
* - create()
* - deleteMany()
* - deleteOne()
* - updateMany()
* - updateOne()
* - update()
* - find()
* - findOne()
* - findById()
* - count()
*/
module.exports = userDao;
使用示例:
const userDao = require('./userDao');
app.post('/user', async function (req, res) {
const data = req.body; // 前端传来的用户对象 { username: 'dkvirus', password: '111111' }
const result = await userDao.create(data);
res.json(result);
})