快速初始化
mkdir mj-cli-dev-server && cd mj-cli-dev-server
npm init egg --type=simple
npm i
npm init egg --type=simple这个命令相当于下面两个命令;
npm i -g create-egg
create-egg
启动
npm i
npm run dev
open http://localhost:7001
创建app/controller/project.js
"use strict";
const Controller = require("egg").Controller;
class ProjectController extends Controller {
index() {
const { ctx } = this;
ctx.body = "your project";
}
}
module.exports = ProjectController;
在router.js中添加路由;
module.exports = (app) => {
const { router, controller } = app;
router.get("/", controller.home.index);
router.get("/project", controller.project.index);
};
再次执行npm run dev;
# Mac OSX 平台安装 MongoDB
接下来我们使用 curl 命令来下载安装:
# 进入 /usr/local
cd /usr/local
# 下载
sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-4.0.9.tgz
# 解压
sudo tar -zxvf mongodb-osx-ssl-x86_64-4.0.9.tgz
# 重命名为 mongodb 目录
sudo mv mongodb-osx-x86_64-4.0.9/ mongodb
详细安装步骤参考文档;
通过终端打开mongodb:
下载Studio 3T客户端:
Studio 3T的使用简介:
在collections上右键选择insert Index;
点击JSON,就可以编写需要插入的数据了;不知道为什么插入不成功,这个工具不会用,我选择直接用命令行;
cd /usr/local/mongodb/bin
./mongo
// 列出所有数据库
show dbs
// 切换到local数据库
use local
// 当前数据库
db
// 列出当前数据库下所有的集合
show collections
// 查询集合中的数据
db.project.find()
// 插入文档
db.project.insert({title: 'MongoDB 教程',
description: 'MongoDB 是一个 Nosql 数据库',
by: '菜鸟教程',
url: 'http://www.runoob.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})
egg.js接入mongodb的方法
cnpm i -S @pick-star/cli-mongodb
首先创建config/db.js
"use strict";
/**
* mongodb配置信息
*/
const mongodbUrl = "mongodb://127.0.0.1:27017";
// 数据库名称
const mongodbName = "local";
module.exports = {
mongodbUrl,
mongodbName,
};
接着创建app/utils/mongo.js
"use strict";
const Mongodb = require("@pick-star/cli-mongodb");
const { mongodbUrl, mongodbName } = require("../../config/db.js");
function mongo() {
return new Mongodb(mongodbUrl, mongodbName);
}
module.exports = mongo;
修改app/controller/project.js
"use strict";
const Controller = require("egg").Controller;
const mongo = require("../utils/mongo");
class ProjectController extends Controller {
async getTemplate() {
const { ctx } = this;
// project是collections的名字
const data = await mongo().query("project");
ctx.body = data;
}
}
module.exports = ProjectController;
这样eggjs就成功连接上了mongodb;