Koa2學習(九)與mongoDB交互
阿新 • • 發佈:2018-11-17
實現 成功 對象 內部 數據流程 bject 連接數 god 令行
Koa2學習(九)與mongoDB交互
數據庫下載與安裝
windows下載地址:http://dl.mongodb.org/dl/win32/x86_64
linux下載地址:https://www.mongodb.com/download-center#community
安裝教程略
數據庫驅動
node.js要與mongo交互,需要安裝mongodb
驅動。
npm i mongodb --save
mongoose
則是node.js中一個非常流行的對mongodb
驅動的封裝,內部已經實現了連接池,ORM等功能,對開發人員十分的友好。我們也用mongoose
來學習操作mongoDB
安裝mongoose
:
npm i mongoose --save
數據庫操作
在業務比較復雜的情況下,整個項目應該有一個合理的分層數據流程:
- 引入依賴庫 -> 連接數據庫
- 定義模型model(最好寫在model目錄下)
- 一系列業務邏輯 -> 生成實體對象 -> 一系列業務邏輯(最好寫在controller下)-> 對數據庫進行curd
- 定義路由 -> 訪問控制器(最好寫在routes目錄下)
現在以一個特別簡單的插入操作來學習:
http.js
:
const Koa = require(‘koa‘) const app = new Koa() const mongoose = require(‘mongoose‘) // 連接數據庫:[ip/域名]:[端口號(默認27017)]/[數據庫(db)] mongoose.connect(‘mongodb://localhost:27017/test‘) // 定義模型 const Cat = mongoose.model(‘Cat‘, { name: String }) app.use(async () => { // 實例化一個實體對象 const kitty = new Cat({ name: ‘Zildjian‘ }) // 執行插入操作 const res = await kitty.save() // 打印返回結果 console.log(res) }) app.listen(8000) module.exports = app
模擬測試
- 啟動服務:
node http.js
- 瀏覽器訪問:localhost:8000
- node控制臺查看執行結果(有數據返回說明插入成功):
{ _id: 5b3b2e074452fb32a448eda7, name: ‘Zildjian‘, __v: 0 }
- 登陸數據庫查看數據(本例以mongo命令行工具為例):
use test # switched to db test show collections # cats db.cats.find() # { "_id" : ObjectId("5b3b2e074452fb32a448eda7"), "name" : "Zildjian", "__v" : 0 }
可以看到數據已經插入數據庫。
更多操作
需要了解更多的數據庫操作,請訪問mongoose官方文檔:
http://mongoosejs.com/docs/queries.html。
Koa2學習(九)與mongoDB交互