1 Star 0 Fork 1

dzq / quick-mongo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
package.json 6.47 KB
一键复制 编辑 原始数据 按行查看 历史
dzq 提交于 2022-06-13 15:21 . 添加增删改查的after操作钩子
{
"name": "duzq-quick-mongo",
"version": "1.3.11",
"description": "# quick-mongo\nnodejs+mongodb+express API快速生成\n\n## 使用说明\n\n安装\n\n`$ npm install duzq-quick-mongo`\n\n建立mongodb数据模型\n\n```js\nconst mongoose = require(\"../utils/mongodb\")\nconst dayjs = require(\"dayjs\")\n\n// User模型\nconst UserSchema = new mongoose.Schema({\n id:{type:String, default: dayjs().unix()},\n name:String,\n pwd:{type: String,required:true,\n set(val){ // 密码加密\n return require(\"bcrypt\").hashSync(val,10)\n }},\n mobile:{type: String, required:true},\n createTime:String,\n updateTime:String,\n},{\n timestamps: { createdAt: 'createTime', updatedAt: 'updateTime' }\n})\nconst User = mongoose.model(\"User\",UserSchema)\n// export\nmodule.exports = User;\n```\n\n初始化控制器\n\n```js\nconst {Controller} = require(\"duzq-quick-mongo\")\nconst user = new Controller( require(\"../models/User\"))\n```\n\n添加路由\n\n```js\nrouter.post(\"/add\", user.add)\nrouter.post(\"/getItem\", user.getItem)\nrouter.post(\"/delete\", user.delete)\nrouter.post(\"/update\", user.update)\nrouter.post(\"/list\", user.list)\nrouter.post(\"/search\", user.search)\n```\n\n恭喜你。\n\n实现了User模块的增删改查的功能。\n\n## 接口使用\n\n### 添加数据\n\n请求参数\n\n```json\n{\n\t\"name\": \"dzq\",\n\t\"mobile\": \"13800138000\",\n\t\"pwd\": \"123456\"\n}\n```\n\n返回结果\n\n```json\n{\n\t\"code\": 200,\n\t\"msg\": \"success\",\n\t\"data\": {\n\t\t\"id\": \"1608954581\",\n\t\t\"_id\": \"5fe6b2f1eb030db3f5d4c1bd\",\n\t\t\"name\": \"dzq\",\n\t\t\"mobile\": \"13800138000\",\n\t\t\"pwd\": \"$2b$10$VMgVXPNSI7TuHtIYo0vY0ufi6PgsCEc.sv1VkSl0KKkd9Hv3u4gOO\",\n\t\t\"createTime\": \"Sat Dec 26 2020 11:50:10 GMT+0800 (China Standard Time)\",\n\t\t\"updateTime\": \"Sat Dec 26 2020 11:50:10 GMT+0800 (China Standard Time)\",\n\t\t\"__v\": 0\n\t}\n}\n```\n\n### 获取数据\n\n请求参数\n\n```json\n{\n\t\"id\": \"1608954581\"\n}\n```\n\n返回结果\n\n```json\n{\n\t\"code\": 200,\n\t\"msg\": \"success\",\n\t\"data\": {\n\t\t\"id\": \"1608954581\",\n\t\t\"_id\": \"5fe6b2f1eb030db3f5d4c1bd\",\n\t\t\"name\": \"dzq\",\n\t\t\"mobile\": \"13800138000\",\n\t\t\"pwd\": \"$2b$10$VMgVXPNSI7TuHtIYo0vY0ufi6PgsCEc.sv1VkSl0KKkd9Hv3u4gOO\",\n\t\t\"createTime\": \"Sat Dec 26 2020 11:50:10 GMT+0800 (China Standard Time)\",\n\t\t\"updateTime\": \"Sat Dec 26 2020 11:50:10 GMT+0800 (China Standard Time)\",\n\t\t\"__v\": 0\n\t}\n}\n```\n\n### 删除数据\n\n请求参数\n\n```json\n{\n\t\"id\": \"1608954581\"\n}\n```\n\n返回结果\n\n```json\n{\n\t\"code\": 200,\n\t\"msg\": \"success\",\n\t\"data\": {\n\t\t\"id\": \"1608954581\",\n\t\t\"_id\": \"5fe6b2f1eb030db3f5d4c1bd\",\n\t\t\"name\": \"dzq\",\n\t\t\"mobile\": \"13800138000\",\n\t\t\"pwd\": \"$2b$10$VMgVXPNSI7TuHtIYo0vY0ufi6PgsCEc.sv1VkSl0KKkd9Hv3u4gOO\",\n\t\t\"createTime\": \"Sat Dec 26 2020 11:50:10 GMT+0800 (China Standard Time)\",\n\t\t\"updateTime\": \"Sat Dec 26 2020 11:50:10 GMT+0800 (China Standard Time)\",\n\t\t\"__v\": 0\n\t}\n}\n```\n\n错误结果\n\n```json\n{\n\t\"code\": 301,\n\t\"msg\": \"failed\"\n}\n```\n\n### 更新数据\n\n请求参数\n\n```json\n{\n\t\"id\": \"1608954581\",\n\t\"updateData\": {\n\t\t\"mobile\": 13800138099,\n\t\t\"pwd\": \"666666\"\n\t}\n}\n```\n\n### 获取数据列表\n\n请求参数\n\n```json\n{\n\t\"pageSize\": 10,\n\t\"page\": 1\n}\n```\n\n返回结果\n\n```json\n{\n\t\"code\": 200,\n\t\"msg\": \"success\",\n\t\"data\": {\n\t\t\"pageSize\": 10,\n\t\t\"page\": 1,\n\t\t\"total\": 1,\n\t\t\"data\": [\n\t\t\t{\n\t\t\t\t\"id\": \"1608954581\",\n\t\t\t\t\"name\": \"dzq\",\n\t\t\t\t\"mobile\": \"13800138000\",\n\t\t\t\t\"pwd\": \"$2b$10$4otU4K9W08whZ3DFJyflBeXgxzRGrHpxlHKT940gDvvvgLmCBYT4a\",\n\t\t\t\t\"createTime\": \"Sat Dec 26 2020 11:57:19 GMT+0800 (China Standard Time)\",\n\t\t\t\t\"updateTime\": \"Sat Dec 26 2020 11:57:19 GMT+0800 (China Standard Time)\"\n\t\t\t}\n\t\t]\n\t}\n}\n```\n\n### 查找数据\n\n请求参数\n\n默认查询条件为与操作,条件满足其中一条需要设置operator为or\n\n```json\n{\n\t\"pageSize\": 10,\n\t\"page\": 1,\n\t\"conditions\": {\n\t\t\"name\": \"dzq\",\n\t\t\"mobile\": \"18518318421\"\n\t},\n\t\"operator\": \"or\"\n}\n```\n\n返回结果\n\n```json\n{\n\t\"code\": 200,\n\t\"msg\": \"success\",\n\t\"data\": {\n\t\t\"pageSize\": 10,\n\t\t\"page\": 1,\n\t\t\"total\": 1,\n\t\t\"data\": [\n\t\t\t{\n\t\t\t\t\"id\": \"1608954581\",\n\t\t\t\t\"name\": \"dzq\",\n\t\t\t\t\"mobile\": \"13800138000\",\n\t\t\t\t\"pwd\": \"$2b$10$4otU4K9W08whZ3DFJyflBeXgxzRGrHpxlHKT940gDvvvgLmCBYT4a\",\n\t\t\t\t\"createTime\": \"Sat Dec 26 2020 11:57:19 GMT+0800 (China Standard Time)\",\n\t\t\t\t\"updateTime\": \"Sat Dec 26 2020 11:57:19 GMT+0800 (China Standard Time)\"\n\t\t\t}\n\t\t]\n\t}\n}\n```\n\n## 高级应用\n\n插件提供了一下高级自定义功能\n\n```js\nconst {Controller} = require(\"duzq-quick-mongo\")\nconst user = new Controller( require(\"../models/User\"))\n// 设置数据查询字段\nuser.projection = {\"__v\":0,\"pwd\":0,\"updateTime\":0,\"createTime\":0}\n// 设置成功编号\nuser.CODE_OK = 200\n// 设置成功消息\nuser.MSG_OK = \"请求成功\"\n// 设置失败编号\nuser.CODE_ERROR = 201\n// 设置失败消息\nuser.MSG_ERROR = \"请求错误\"\n```\n\n自定义前返回数据\n\n```json\n{\n\t\"code\": 200,\n\t\"msg\": \"success\",\n\t\"data\": {\n\t\t\"id\": \"1608954581\",\n\t\t\"_id\": \"5fe6b2f1eb030db3f5d4c1bd\",\n\t\t\"name\": \"dzq\",\n\t\t\"mobile\": \"13800138000\",\n\t\t\"pwd\": \"$2b$10$VMgVXPNSI7TuHtIYo0vY0ufi6PgsCEc.sv1VkSl0KKkd9Hv3u4gOO\",\n\t\t\"createTime\": \"Sat Dec 26 2020 11:50:10 GMT+0800 (China Standard Time)\",\n\t\t\"updateTime\": \"Sat Dec 26 2020 11:50:10 GMT+0800 (China Standard Time)\",\n\t\t\"__v\": 0\n\t}\n}\n```\n\n自定义后获取数据\n\n```json\n{\n\t\"code\": 200,\n\t\"msg\": \"请求成功\",\n\t\"data\": {\n\t\t\"id\": \"1608954581\",\n\t\t\"_id\": \"5fe6b49feb030db3f5d4c1be\",\n\t\t\"name\": \"dzq\",\n\t\t\"mobile\": \"13800138000\"\n\t}\n}\n```\n\n\n示例代码:https://github.com/dzq/quick-mongo-simple\n\n更加功能需求请提交issue: https://github.com/dzq/quick-mongo\n",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "https://gitee.com/duzengqiang/quick-mongo"
},
"author": "dzq",
"license": "ISC",
"bugs": {
"url": "https://gitee.com/duzengqiang/quick-mongo/issues"
},
"homepage": "https://gitee.com/duzengqiang/quick-mongo#readme"
}
JavaScript
1
https://gitee.com/duzengqiang/quick-mongo.git
git@gitee.com:duzengqiang/quick-mongo.git
duzengqiang
quick-mongo
quick-mongo
main

搜索帮助