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

資訊專欄INFORMATION COLUMN

Node +MongoDB 搭建后臺(tái)的全過程

voidking / 3249人閱讀

摘要:搭建后臺(tái)的全過程近期基于搭建前端項(xiàng)目,搭建后臺(tái),遇到了不少問題,總結(jié)博客如下,有什么不正確的地方,請大家批評(píng)指正是非關(guān)系型數(shù)據(jù)庫。是用來啟動(dòng)的,是的命令行客戶端。

Node + mongoDB 搭建后臺(tái)的全過程

近期基于 vue-cil 搭建前端項(xiàng)目, express + mongoose 搭建后臺(tái),遇到了不少問題,總結(jié)博客如下,有什么不正確的地方,請大家批評(píng)指正^?_?^!

mongodb 是 NoSQL 非關(guān)系型數(shù)據(jù)庫。
mongoose是 mongodb 的一個(gè)對象模型工具,是基于 node-mongodb-native 開發(fā)的 mongodb 的 nodejs 驅(qū)動(dòng),可以在異步的環(huán)境下執(zhí)行。同時(shí)它也是針對 mongodb 操作的一個(gè)對象模型庫,封裝了 mongodb 對文檔的一些增刪改查等常用方法,讓nodejs操作 mongodb 數(shù)據(jù)庫變得更加容易。
一、Mac下mongodb的安裝與配置

1、 安裝mongodb:

brew install mongodb

2、安裝成功之后,啟動(dòng) mongodb

mongod

3、執(zhí)行 mongod ,啟動(dòng) mongodb 失敗,顯示如下:

原因 : 啟動(dòng) mongodb 之前,要先新建一個(gè)mongodb默認(rèn)的數(shù)據(jù)寫入目錄:

sudo mkdir -p /data/db

給剛才新建的數(shù)據(jù)庫目錄賦予權(quán)限

sudo chown -R 用戶名 /data

如下圖所示:

4、再次啟動(dòng)

mongod

5、若啟動(dòng)成功,可以通過http訪問該數(shù)據(jù)庫,mongodb使用了27017端口,因此在瀏覽器中打開 http://localhost:27017
出現(xiàn)如下圖所示提示,即說明連接成功。默認(rèn)的情況下,關(guān)閉shell,mongodb就停止運(yùn)行了 如果想在后臺(tái)運(yùn)行,啟動(dòng)時(shí)只需添加 --fork函數(shù)即可

小結(jié):

mongod 是用來連接到mongodb數(shù)據(jù)庫服務(wù)器的,即服務(wù)器端。
mongo 是用來啟動(dòng)MongoDB shell的,是mongodb的命令行客戶端。
二、安裝 MongoDB可視化工具 RoboMongo

下載地址:https://robomongo.org/download

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

dbase.js

let mongoose = require("mongoose");
/**
 * 連接
 */
mongoose.connect("mongodb://127.0.0.1:27017/learning",{useNewUrlParser: true});

/**
  * 連接成功
  */
mongoose.connection.on("connected", function () {    
    console.log("Mongoose connection succuss" );  
});    

/**
 * 連接異常
 */
mongoose.connection.on("error",function (err) {    
    console.log("Mongoose connection error: " + err);  
});    
 
/**
 * 連接斷開
 */
mongoose.connection.on("disconnected", function () {    
    console.log("Mongoose connection disconnected");  
}); 


module.exports = mongoose;
四、啟動(dòng) node 服務(wù)

server.js

const fs = require("fs")
const path = require("path")
const express = require("express")
const session = require("express-session")
const bodyParser = require("body-parser")
const app = express()

require("./dbase")
app.use(bodyParser.json()) //解析json類型的請求體

app.get("*", function (req, res) {
    res.sendFile(path.join(__dirname, "../Learning/index.html"));
})

app.listen(process.env.PORT || 8000, function () {
    console.log("Listen port:8000...")
});

小結(jié):

問題: 啟動(dòng)node服務(wù)連接數(shù)據(jù)庫時(shí),報(bào)錯(cuò)如下圖所示:

解決辦法:在 mongoose 5.x 版本中,連接數(shù)據(jù)庫時(shí),不再使用 {useMongoClient: true}),而是 { useNewUrlParser: true }

五、 vue-cil 搭建的項(xiàng)目跨域問題

Vue-cli 創(chuàng)建的項(xiàng)目,可以直接利用 Node.js 代理服務(wù)器,通過修改proxyTable接口實(shí)現(xiàn)跨域請求。在vue-cli項(xiàng)目中的config文件夾下的index.js配置文件中,修改 dev 里面的proxyTable: {}項(xiàng),如下所示:

proxyTable: {  
    "/api": {  //代理地址  
        target: "http://127.0.0.1:8000/",  //需要代理的地址  
        changeOrigin: true,  //是否跨域  
        secure: false,    
        pathRewrite: {  
            "^/api": "/"   //本身的接口地址沒有 "/api" 這種通用前綴,所以要rewrite,如果本身有則去掉  
        }
    }
}

重啟項(xiàng)目npm run dev ,接口前加上“/api”即可實(shí)現(xiàn)跨域請求

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

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

相關(guān)文章

  • Egg.js搭建后臺(tái)服務(wù)API

    摘要:因?yàn)槠匠i_發(fā)都是前后端分離的模式,就想著使用創(chuàng)建后臺(tái)服務(wù),寫一套接口配合其他的項(xiàng)目。復(fù)雜數(shù)據(jù)的處理,比如要展現(xiàn)的信息需要從數(shù)據(jù)庫獲取或者是第三方服務(wù)的調(diào)用。更新用戶信息用戶信息已更改一個(gè)簡單的應(yīng)用結(jié)構(gòu)就是這樣,如此便實(shí)現(xiàn)了用負(fù)責(zé)接口服務(wù)。 寫在前面的話 最近在學(xué)習(xí)Egg.js,它是阿里推出的基于Koa的node開發(fā)框架,為企業(yè)級(jí)框架和應(yīng)用而生。Egg.js 的官方文檔已經(jīng)很完善了,想學(xué)...

    dailybird 評(píng)論0 收藏0
  • Egg.js搭建后臺(tái)服務(wù)API

    摘要:因?yàn)槠匠i_發(fā)都是前后端分離的模式,就想著使用創(chuàng)建后臺(tái)服務(wù),寫一套接口配合其他的項(xiàng)目。復(fù)雜數(shù)據(jù)的處理,比如要展現(xiàn)的信息需要從數(shù)據(jù)庫獲取或者是第三方服務(wù)的調(diào)用。更新用戶信息用戶信息已更改一個(gè)簡單的應(yīng)用結(jié)構(gòu)就是這樣,如此便實(shí)現(xiàn)了用負(fù)責(zé)接口服務(wù)。 寫在前面的話 最近在學(xué)習(xí)Egg.js,它是阿里推出的基于Koa的node開發(fā)框架,為企業(yè)級(jí)框架和應(yīng)用而生。Egg.js 的官方文檔已經(jīng)很完善了,想學(xué)...

    idealcn 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<