express與mongodb之間的交互

express中使用mongodb

1. 安裝mongoose模塊

npm install mongoose -D 複製代碼

2.在app.js中引入mongoose 模塊

var mongoose = require('mongoose')複製代碼

3.鏈接mongodb數據庫

直接上代碼:前端

mongoose.connect('mongodb://localhost:27017/user');
// user是數據庫名稱
mongoose.connection.on("connected", function () {
  console.log("數據庫鏈接成功")
});

mongoose.connection.on("error", function () {
  console.log("數據庫鏈接失敗")
});

mongoose.connection.on("disconnected", function () {
  console.log("MongoDB connected disconnected.")
});

複製代碼
鏈接成功後,會在終端打印:


mongodb插入數據

mongodb的基本語法在這裏就不寫了,這裏使用的是mongodbCompass可視化工具mongodb

鏈接MongoDB Compass


默認端口就是 27017 直接鏈接就好了數據庫

新建數據庫

鏈接成功之後,默認的會有 2個數據庫, admin local, 若是須要再添加新的數據庫時,點擊左下角的 + 按鈕來新增數據庫express


database name 數據庫名  collection name 集合(表)名npm

注意: 集合(表)名後面要加s,具體緣由我也不是很清楚,若是不加s的話express沒法獲取到表裏的數據(求大佬指點迷津)json


插入數據

進入到表裏面後,點擊 Insert Document 來插入數據到表裏面bash



express獲取mongodb數據

新建models文件

在根目錄下新建一個目錄取名爲models,裏面存放模具文件數據結構


構造數據結構


在model文件夾下,新建一個goods.js文件,該文件定義了在mongodb中的數據結構和類型,注意的是這裏定義的數據類型要和mongdb中插入的數據類型一致併發

最後:app

module.exports = mongoose.model('goods', goodsList)複製代碼

導出該model

在路由中獲取mongodb數據


首先,引入以前定義好的 goodsList 的model ,而後經過 model.find()方法去數據庫查找數據,找到後返回數據,併發送到前端

model.find()第一個參數是個對象,能夠爲前端傳來的查詢參數:


數據操做

  • .find(),做爲讀取、查找。

  • .create(),做爲增長信息用。它是基於mongoose中的model的操做,傳入一個json對象做爲須要添加的內容,具體可自行查閱。

  • .update(),做爲更新信息用。

  • .remove(),做爲刪除信息用。

獲取參數的方式

get方法 用 req.query ;

post 方法用 req.body;

相關文章
相關標籤/搜索