1 egg.js

1.1 初始化

  • 初始化和项目启动方法
# 初始化
$ mkdir egg-example && cd egg-example
$ npm init egg --type=simple # 实际上执行的是 npm i create-egg
$ npm i
# 项目启动
$ npm run dev
$ open http://localhost:7001

1.2 通过 egg.js 框架添加新的 API

app > controller > project.js

'use strict';
const Controller = require('egg').Controller;
class ProjectController extends Controller {
// 获取项目/组件的代码模板
getTemplate() {
const { ctx } = this;
ctx.body = 'get template'
}
}
module.exports = ProjectController;

app > router.js

'use strict';
// @param {Egg.Application} app - egg application
module.exports = app => {
const { router, controller } = app;
router.get('/project/template', controller.project.getTemplate);
};

2 云 mongodb

2.1 本地 mongodb 调试技巧

1. 启动

  1. 在mongodb安装目录下新建mongo.config配置文件,内容如下:
  dbpath=D:\mongodb\data
logpath=D:\mongodb\log\mongo.log
  1. 在当前位置打开cmd命令行窗口
  2. 执行命令:> mongod.exe --config mongo.config
  3. 浏览器打开 http://127.0.0.1:27017 -- 有如下显示说明启动成功

2.2 egg.js 接入 mongodb 方法

  1. 创建 mongo 实例

app > utils > mongo.js

'use strict';

const Mongodb = require('@pick-star/cli-mongodb')
const { mongodbUrl, mongodbDbName } = require('../../config/db') function mongo() {
return new Mongodb(mongodbUrl, mongodbDbName)
} module.exports = mongo
  1. 设置配置数据

config > db.js

'use strict';

/** MONGODB **/
const mongodbUrl = 'mongodb://localhost:27017/zmoon-cli'
const mongodbDbName = 'zmoon-cli' module.exports = {
mongodbUrl,
mongodbDbName
}
  1. 服务器 api 执行
'use strict';
const Controller = require('egg').Controller;
const mongo = require('../utils/mongo') class ProjectController extends Controller {
// 获取项目/组件的代码模板
async getTemplate() {
const { ctx } = this;
const data = await mongo().query('project')
ctx.body = data
}
}
module.exports = ProjectController;

5-3 掌握 egg.js + 云 mongodb的更多相关文章

  1. 在egg.js中使用mongodb

    1.egg.js官网只推荐了mysqle,要用mongodb得另找资料.通过查找,大家都在用Mongoose连接,于是乎学习. 网站链接:https://www.npmjs.com/package/e ...

  2. 基于 Egg.js 框架的 Node.js 服务构建之用户管理设计

    前言 近来公司需要构建一套 EMM(Enterprise Mobility Management)的管理平台,就这种面向企业的应用管理本身需要考虑的需求是十分复杂的,技术层面管理端和服务端构建是架构核 ...

  3. Serverless + Egg.js 后台管理系统实战

    本文将介绍如何基于 Egg.js 和 Serverless 实现一个后台管理系统 作为一名前端开发者,在选择 Nodejs 后端服务框架时,第一时间会想到 Egg.js,不得不说 Egg.js 是一个 ...

  4. egg.js部署到服务器

    关于egg.js项目部署服务器的问题 我使用的是腾讯云centos , 部署前需要确保服务器上安装了mysql, node . mysql下载:https://dev.mysql.com/downlo ...

  5. egg.js in action

    egg.js in action fullstack https://github.com/eggjs/egg/ cli config router service midlewares HTTP C ...

  6. 基于 Angularjs&Node.js 云编辑器架构设计及开发实践

    基于 Angularjs&Node.js 云编辑器架构设计及开发实践 一.产品背景 二.总体架构 1. 前端架构 a.前端层次 b.核心基础模块设计 c.业务模块设计 2. Node.js端设 ...

  7. Node.js 中MongoDB的基本接口操作

    Node.js 中MongoDB的基本接口操作 连接数据库 安装mongodb模块 导入mongodb模块 调用connect方法 文档的增删改查操作 插入文档 方法: db.collection(& ...

  8. MongoDB学习(2)—Node.js与MongoDB的基本连接示例

    前提 已经安装了node.js和MongoDB,本文使用的node.js是v0.12.0,MongoDB是3.0.0. 初始化数据 启动MongoDB服务,在test数据库中插入一条实例数据: db. ...

  9. 使用React、Node.js、MongoDB、Socket.IO开发一个角色投票应用的学习过程(三)

    这几篇都是我原来首发在 segmentfault 上的地址:https://segmentfault.com/a/1190000005040834 突然想起来我这个博客冷落了好多年了,也该更新一下,呵 ...

  10. Node.js和MongoDB - MongoJS入门

    第一次尝试翻译外国牛人的博文,希望大家喜欢. 本文源码详见:https://github.com/njaulj/mongojs 一点都不夸大的说,近年来node.js和mongodb的确是大放异彩,在 ...

随机推荐

  1. 2023 01 19 HW

    2023 01 19 HW Okay, then let's start.  Okay. Maybe Karina, we start with the C2 design freeze. Yeah, ...

  2. html入門 如何 區別行級元素 和 塊級元素

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  3. 兼容ie8的Html+Css+Js

    1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset=" ...

  4. 给自己提个醒,渲染模版引擎handlebars已经足够好用了,不要再到处乱看浪费时间了。

    <html><body onload="renderHello()"><div id="target">Loading... ...

  5. Apollo配置中心拉取,通过单独打包解决 Get config services failed from http://阿里云局域网访问IP:8080/services/config?appId=MyAppId&ip=192.168.145.1 Cause Could not complete get operation

    Apollo配置中心拉取,通过单独打包解决 Get config services failed from http://阿里云局域网访问IP:8080/services/config?appId=M ...

  6. C2驾驶车型

    凡是自动挡的9座(包括9座)以下,车长6米以内的小型载客汽车(包含轿车.SUV.MPV):以及总质量在4500KG(包括4500KG)以下的.车长在6米(包括6米)以下的.核定载重质量在1500KG( ...

  7. macOS 开发 NSView添加鼠标监控

    一.鼠标点击事件响应流程简述: 1.鼠标硬件先接收到用户点击:2.然后交给鼠标驱动来处理,这个驱动是在Mac OS X内核运行的:3.处理完就通过I/O Kit传递给window sever的事件队列 ...

  8. UVM reg model 常见问题记录

    1.仿真log中报出大量的"include_coverage not located, did you mean ***"? (1) user在构建register model或者 ...

  9. Dynamics 365 如何代表其他用户发送邮件

    举个例子,用户A和用户B,用户B在新建电子邮件时,发件人以用户A的身份去发送邮件,这个时候需要做如下配置才可以. 首先登录用户A,在高级设置->个人设置中,配置允许其他人代表自己发送电子邮件. ...

  10. Reactor 模式线程模型

    根据Reactor的数据量和处理资源池线程数量,可以分为3钟典型实现 单Reactor单线程 单Reactor 多线程 主从Reactor 多线程