{"id":14989534,"url":"https://github.com/ivonzhang/koa2-mongodb-server","last_synced_at":"2025-07-14T10:04:23.569Z","repository":{"id":72772278,"uuid":"89334612","full_name":"ivonzhang/koa2-mongodb-server","owner":"ivonzhang","description":"利用koa2+mongodb搭建一套简易的nodejs后台服务，用于为客户端提供数据请求的数据api接口","archived":false,"fork":false,"pushed_at":"2017-04-26T06:18:54.000Z","size":9,"stargazers_count":256,"open_issues_count":1,"forks_count":76,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-06-23T02:03:40.214Z","etag":null,"topics":["koa2","mongoose"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ivonzhang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-25T08:09:09.000Z","updated_at":"2025-03-21T06:51:54.000Z","dependencies_parsed_at":"2023-02-28T00:01:06.509Z","dependency_job_id":null,"html_url":"https://github.com/ivonzhang/koa2-mongodb-server","commit_stats":{"total_commits":7,"total_committers":2,"mean_commits":3.5,"dds":0.4285714285714286,"last_synced_commit":"7275809139f337cc7fb4a0091feb52f6a7f627c6"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ivonzhang/koa2-mongodb-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivonzhang%2Fkoa2-mongodb-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivonzhang%2Fkoa2-mongodb-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivonzhang%2Fkoa2-mongodb-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivonzhang%2Fkoa2-mongodb-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ivonzhang","download_url":"https://codeload.github.com/ivonzhang/koa2-mongodb-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivonzhang%2Fkoa2-mongodb-server/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265276797,"owners_count":23739264,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["koa2","mongoose"],"created_at":"2024-09-24T14:18:31.308Z","updated_at":"2025-07-14T10:04:23.549Z","avatar_url":"https://github.com/ivonzhang.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# koa2-mongodb-server\n利用koa2+mongodb搭建一套简易的nodejs后台服务，用于为客户端提供数据请求的数据api接口\n\n# 使用说明\n- 安装NodeJs  \n  koa2下，最好安装node7.0以上版本，不然会报错，因为低版本下Koa2部分ES7的语法会不支持\n- 安装MongoDB数据库  \n  可以参考官方文档：https://docs.mongodb.com/manual/installation/ ；OS X 系统下推荐使用Homebrew进行安装。\n- 安装相关依赖  \n   cd到项目根目录下，执行：npm install （淘宝镜像下：cnpm install）\n- 终端开启nodejs服务  \n  cd到项目根目录，执行：node app\n- DHC测试接口  \n  安装Chrome插件DHC，对相关接口进行测试，如：\n\n    ![signup接口测试](http://upload-images.jianshu.io/upload_images/5307186-1efca5d7c8ddd2ff.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\n\n# 项目目录结构说明\n  \n![项目目录结构](http://upload-images.jianshu.io/upload_images/5307186-d29cb13923ae11db.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\n\n- 控制器：controllers/user.js  \n  用于接收用户模块的接口请求，如注册、更新、删除、获取用于列表、搜索用户等相关请求，以下是注册请求的举例。主要是通过koa-router实现路由转发请求到该接口，然后使用封装的dbHelper对mongodb进行操作（当然这里我直接使用了mongose的api进行数据库的操作了，比较low）。\n\n    ![用户注册接口的实现](http://upload-images.jianshu.io/upload_images/5307186-bd283eeebc2a704d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\n\n- model层：表结构的定义，model/user.js  \n  mongoose的语法，先定义一个schema，再导出一个model。mongoose的文档可以参考：http://www.nodeclass.com/api/mongoose.html 。\n  \n![用户表结构](http://upload-images.jianshu.io/upload_images/5307186-a2f18ca07c580904.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\n\n- koa2的使用  \n  还是贴一下文档吧：https://github.com/koajs/koa\n\n- koa-router的使用  \n  再贴文档：https://github.com/alexmingoia/koa-router \n\n# 使用RAP  \n  使用淘宝的rap来记录设计项目的API接口：http://rapapi.org/org/index.do\n  \n  ![更新用户信息接口的设计](http://upload-images.jianshu.io/upload_images/5307186-a628a6d42d64f4bf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivonzhang%2Fkoa2-mongodb-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fivonzhang%2Fkoa2-mongodb-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivonzhang%2Fkoa2-mongodb-server/lists"}