国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

egg 自學(xué)入門demo分享

Olivia / 3072人閱讀

摘要:編寫在文件夾下添加,文件這里用于獲取數(shù)據(jù)庫中的數(shù)據(jù)添加路由確保數(shù)據(jù)庫能連接成功后,便可以啟動項目。本文只是輔助介紹快速搭建一個基本的項目,具體內(nèi)容請參考若有疑問或錯誤,請留言,謝謝

2018-08,本文適用于對egg有興趣想要了解的同學(xué)

完整項目代碼:https://github.com/NameHewei/node-egg

項目主要文件目錄結(jié)構(gòu)

|—— app
    |—— controller
        |—— cook.js
    |—— model
        |—— cook.js
    |—— router.js
|—— config
    |—— config.default.js
    |—— plugin.js
|—— package.json
|—— README.md
安裝

官網(wǎng): https://eggjs.org/zh-cn/

npm i egg-init -g

egg-init egg-example --type=simple

cd egg-example

npm i

啟動項目

npm run dev

項目

本文主要是以搭建一個連接mongoDB的后端,以提供api接口

連接數(shù)據(jù)庫

1.引入數(shù)據(jù)庫插件,在plugin.js文件中添加如下代碼

exports.mongoose = {
    enable: true,
    package: "egg-mongoose",
};

2.在config.default.js中添加如下配置

config.mongoose = {
    client: {
        url: "mongodb://127.0.0.1:27017/database-name",
    },
}
編寫model

在model文件下添加,cook.js 文件

module.exports = app => {
    const mongoose = app.mongoose;
    const Schema = mongoose.Schema;

    const CookeSchema = new Schema({
        _id: { type: Schema.Types.ObjectId },
        name: { type: String  },
        img: { type: String  },
        step: { type: String  }
    }, { 
        versionKey: false
    });

    return mongoose.model("cooks", CookeSchema);
}

注意如果使用mongoDB中的_id時type的類型,以及如何去掉__v 版本鎖字段。

編寫controller

在controller文件夾下添加,cook.js文件

const Controller = require("egg").Controller;

class HomeController extends Controller {
  async list() {
    this.ctx.response.body = {
      result: await this.ctx.model.Cook.find({}, {"_id": 0})
    };
  }

  async listOne() {
    const { id } = this.ctx.params
    this.ctx.body = {
      result: await this.ctx.model.Cook.find({ "_id": id }, {"_id": 0})
    };
  }
}

module.exports = HomeController;

這里用于獲取數(shù)據(jù)庫中的數(shù)據(jù)

添加路由
module.exports = app => {
  const { router, controller } = app;
  router.get("/cook/", controller.cook.list);
  router.get("/cook/:id", controller.cook.listOne);
};

確保數(shù)據(jù)庫能連接成功后,便可以啟動項目。

本文只是輔助介紹快速搭建一個基本的egg項目,具體內(nèi)容請參考:https://eggjs.org/

若有疑問或錯誤,請留言,謝謝!Github blog issues

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/19407.html

相關(guān)文章

  • scrapy 自學(xué)入門demo分享

    摘要:本文基于,平臺完整項目代碼安裝安裝官網(wǎng)下載注意環(huán)境變量是否配置成功安裝為了安裝順利,請備好梯子安裝過程中注意以下報錯信息解決辦法下載對應(yīng)版本的文件表示版本表示位下載后在文件目錄下執(zhí)行文件名創(chuàng)建項目創(chuàng)建創(chuàng)建在項目跟目錄執(zhí)行配置文件 本文基于python 3.7.0,win10平臺; 2018-08完整項目代碼:https://github.com/NameHewei/python-scr...

    linkFly 評論0 收藏0
  • 通過demo學(xué)習(xí)OpenStack開發(fā)所需的基礎(chǔ)知識 -- 軟件包管理

    摘要:不幸的是,在軟件包管理十分混亂,至少歷史上十分混亂。的最大改進是將函數(shù)的參數(shù)單獨放到一個的文件中這些成為包的元數(shù)據(jù)。基于的版本號管理。的版本推導(dǎo)這里重點說明一下基于的版本號管理這個功能。開發(fā)版本號的形式如下。 為什么寫這個系列 OpenStack是目前我所知的最大最復(fù)雜的基于Python項目。整個OpenStack項目包含了數(shù)十個主要的子項目,每個子項目所用到的庫也不盡相同。因此,對于...

    blastz 評論0 收藏0
  • 機械轉(zhuǎn)行前端,半年零基礎(chǔ)自學(xué)的心路歷程

    摘要:受上海杰克大大委托,于今晚分享一下本人的自學(xué)歷程主題機械轉(zhuǎn)行前端,半年零基礎(chǔ)自學(xué)的心路歷程。所以我就這半年個人自學(xué)修行以來的一些感觸和心得方面進行分享。背景介紹內(nèi)容前工作狀況機械離職經(jīng)歷心態(tài)轉(zhuǎn)變目標確定大家好,我是,一枚前端萌新。 機械轉(zhuǎn)行前端,半年零基礎(chǔ)自學(xué)的心路歷程 標簽: 轉(zhuǎn)行 自學(xué) 原創(chuàng):Michael.Lu 277133779@qq .com 轉(zhuǎn)載注明出處 這是初級群(西安...

    baihe 評論0 收藏0
  • 機械轉(zhuǎn)行前端,半年零基礎(chǔ)自學(xué)的心路歷程

    摘要:受上海杰克大大委托,于今晚分享一下本人的自學(xué)歷程主題機械轉(zhuǎn)行前端,半年零基礎(chǔ)自學(xué)的心路歷程。所以我就這半年個人自學(xué)修行以來的一些感觸和心得方面進行分享。背景介紹內(nèi)容前工作狀況機械離職經(jīng)歷心態(tài)轉(zhuǎn)變目標確定大家好,我是,一枚前端萌新。 機械轉(zhuǎn)行前端,半年零基礎(chǔ)自學(xué)的心路歷程 標簽: 轉(zhuǎn)行 自學(xué) 原創(chuàng):Michael.Lu 277133779@qq .com 轉(zhuǎn)載注明出處 這是初級群(西安...

    qc1iu 評論0 收藏0

發(fā)表評論

0條評論

Olivia

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<