CRUD in Robo 3T
定義
C:Create(新增)
R:Read(讀取)
U:Update(更新)
D:Delete(刪除)
預先準備:
聲明:以下檔案都設定在同一層中
一開始一定要先
npm install mongoose
首先準備
db.js
。目的是連接 db
// db.js
var mongoose = require('mongoose'),
DB_URL = 'mongodb://localhost:27017/bac_test';
/* *
* 連接
*/
mongoose.connect(DB_URL);
/* *
* 連接成功
*/
mongoose.connection.on('connected', function () {
console.log('Mongoose connection open to ' + DB_URL);
});
/* *
* 連接異常
*/
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;
再來準備
prodSchema.js
。目的是制定輸入資料格式。
var mongoose = require('./db.js')
//把 db require 進來
var prodSchema = mongoose.Schema({
name :{ type: String },
display_name_en : { type: String },
display_name_zh_TW : { type: String },
sort:{type:Number},
});
module.exports = mongoose.model('prodSchema',prodSchema,'prodList');
//第一個prodSchema代表,輸出東西叫做prodSchema
//第二個prodSchema代表,輸出格式為prodSchema
//最後面的prodList代表連接到那個DB
CRUD
「C」
//Create.js
var prodSchema = require("./prodSchema.js");
function InsertNew(){
let prodSchemaArray = new prodSchema({
"name": "Keedem",
"display_name_en": "Kuan",
"display_name_zh_TW": "冠",
"sort": 1
});
prodSchemaArray.save(function (err, res) {
console.log("res",res)
err?console.log("Error:" + err):console.log("ok")
});
}
InsertNew()
node Create.js
動作
「R」
//Read.js
var prodSchemaArray = require("./prodSchema.js");
prodSchemaArray.find({}, (err, res) => {
//這邊的 find{},可以塞條件進去
if (err) {
return console.error(err);
}
var WantResult = res;
console.log(WantResult);
});
node Read.js
動作
「U」
//Update.js
var prodSchemaArray = require("./prodSchema.js");
/**
* @parum multi:true 為修改多筆
*/
prodSchemaArray.update(
{ display_name_en: "Kuan" }, //舊有資料
{ display_name_en: "Guan"}, //更新資料
{ multi: false},
function(err, docs){
if(err) console.log(err);
console.log('更改成功:' +docs);
})
node Update.js
動作
「D」
//Delete.js
var prodSchemaArray = require("./prodSchema.js");
/**
* deleteOne 為刪除一筆
* deleteMany 為刪除多筆
*/
prodSchemaArray.deleteOne(
{ display_name_en: 'Guan' },
function (err) {});
//or
//prodSchemaArray.deleteMany({ imageType: 'technics' }, function (err) {})
node Delete.js
動作
Last updated