標籤:封裝 username font 資料庫 image nodejs mic install value
MongoDB介紹:
MongoDB是基於Javascript語言的資料庫,儲存格式是JSON,而Node也是基於JavaScript的環境(庫),所以node和mongoDB的搭配能減少因為資料轉換帶來的時間空間開銷。
Mongoose介紹:
是MongoDB的一個物件模型工具,它將資料庫中的資料轉換為JavaScript對象以供你在應用中使用,封裝了MongoDB對文檔的的一些增刪改查等常用方法,
讓NodeJS操作Mongodb資料庫變得更加靈活簡單。
預備:
一定要先開啟mongodb服務,進入mongodb\bin\,執行mongod --dbpath d:\data
d:\data是儲存資料的地方,通常位於mongodb安裝的根目錄下。
第一步,在項目裡安裝mongoose,並引入
// 安裝
cnpm install mongoose --save
// 引入
const mongoose = require(‘mongoose‘);
第二步,串連資料庫
// 串連本地的資料庫
let db = mongoose.createConnection(‘mongodb://localhost/testmongoose‘);
接著:
// 設定資料類型
let monSchema = new mongoose.Schema({ name: { type: String, default: ‘username‘ }, age: { type: Number }, gender: { type: String, default: ‘女‘ }});
// 選擇集合
let MonModel = db.model(‘user‘, monSchema);
// 類比一個資料集
let content = {name: ‘nick‘, age: 23, gender: ‘男‘};
// 執行個體化對象並插入資料
let monInsert = new MonModel(content);
// 儲存並關閉串連
monInsert.save((err) => { if(err) { console.log(err); } else { console.log(‘成功插入資料‘); } // 關閉資料庫 db.close();});
執行這個node檔案,插入資料成功!
叮叮~~資料庫裡面有資料啦!
mongo.js完整代碼:
// 引入模組const mongoose = require(‘mongoose‘);// 串連資料庫let db = mongoose.createConnection(‘mongodb://localhost/testmongoose‘);// 設定資料類型let monSchema = new mongoose.Schema({ name: { type: String, default: ‘username‘ }, age: { type: Number }, gender: { type: String, default: ‘女‘ }});// 選擇集合let MonModel = db.model(‘user‘, monSchema);// 資料集let content = {name: ‘Nick‘, age: 23, gender: ‘男‘};// 執行個體化對象並插入資料let monInsert = new MonModel(content);monInsert.save((err) => { if(err) { console.log(err); } else { console.log(‘成功插入資料‘); } // 關閉資料庫 db.close();});
增刪改查完整代碼:
// 引入模組const mongoose = require(‘mongoose‘);// 串連資料庫let db = mongoose.createConnection(‘mongodb://localhost/testmongoose‘);// 設定資料類型let monSchema = new mongoose.Schema({ name: { type: String, default: ‘username‘ }, age: { type: Number }, gender: { type: String, default: ‘女‘ }});// 選擇集合let MonModel = db.model(‘user‘, monSchema);// 插入資料function insertData () { // 資料集 let content = {name: ‘Nick‘, age: 23, gender: ‘男‘}; // 執行個體化對象並插入資料 let monInsert = new MonModel(content); monInsert.save((err) => { if(err) { console.log(err); } else { console.log(‘成功插入資料‘); } // 關閉資料庫 db.close(); });}// 刪除資料function deleteData () { // 要刪除的條件 let del = {name: ‘Nick‘}; MonModel.remove(del, (err, result) => { if(err) { console.log(err); } else { console.log(‘delete: ‘ + result); } // 關閉資料庫 db.close(); });}// 修改資料function updateData() { // 原資料欄位值 let oldValue = {name: ‘Nick‘}; // 單條件更新 let newData1 = {$set: {name: ‘風夏‘}}; // 多條件更新 let newData2 = {$set: {name: ‘風夏‘, gender: ‘女‘}}; MonModel.update(oldValue, newData2, (err, result) => { if(err) { console.log(err); } else { console.log(‘update‘); } // 關閉資料庫 db.close(); });}// 查詢資料function findData() { // 要查詢的欄位 let content = {name: ‘風夏‘}; let field = {name: 1, age:1, gender:1}; MonModel.find(content, field, (err, result) => { if(err) { console.log(err); } else { console.log(result); } });}//insertData();//deleteData();//updateData();findData();
MongoDB學習之mongoose