1. 程式人生 > >Nodejs基於mongoose模組的增刪改查

Nodejs基於mongoose模組的增刪改查

安裝模組mongoose

npm install mongoose

[注意] mongoose模組依賴mongodb

npm常用命令

npm install <name> -g  將包安裝到全域性環境中

npm install <name> –-save 安裝的同時,將資訊寫入package.json中,便於後期維護檢視

npm remove <name>移除

npm update <name>更新

npm root -g 檢視全域性的包安裝路徑 

npm -v 檢視npm的版本

開啟mongodb資料庫

進入mongod所在目錄 執行命令 ./mongod --dbpath=存放資料的位置
例1:./mongod --dbpath=../data/dbname
例2:./mongod --dbpath=../data/dbname --port 自定義埠號,預設27017(瞭解即可,不推薦使用,修改預設埠號後期維護麻煩)

插入資料

// 引入模組
var mongoose = require('mongoose');
// 連線資料庫
var db = mongoose.createConnection('mongodb://127.0.0.1:27017/test');
// 設定資料型別
var monSchema = new mongooose.Schema({
    name:{type:String,default:"username"},
    age:{type:Number},
    sex:{type:String}
});
// 選擇集合
var monModel = db.model('user',monSchema);
// 資料集
var content = {name:"Nick",age:23,sex:'男'};
// 例項化物件並插入資料
var monInsert = new monModel(content);
monInsert.save(function(err){
  if(err){
    console.log(err);
  }else{
    console.log('成功插入資料');
  }
  db.close();
});

刪除資料

// 引入模組
var mongoose = require('mongoose');
// 連線資料庫
var db = mongoose.createConnection('mongodb://127.0.0.1:27017/test');
// 設定資料型別
var monSchema = new mongooose.Schema({
    name:{type:String,default:"name"},
    age:{type:Number},
    sex:{type:String}
});
// 選擇集合
var monModel = db.model('user',monSchema);
// 要刪除的條件
var del  = {name:"Nick"};

monModel.remove(del,function(err,result){
  if(err){
    console.log(err);
  }else{
    console.log("update");
  }
  db.close();
});

修改資料

// 引入模組
var mongoose = require('mongoose');
// 連線資料庫
var db = mongoose.createConnection('mongodb://127.0.0.1:27017/test');
// cosole.log(db);
// 設定資料型別
var monSchema = new mongooose.Schema({
    name:{type:String,default:"name"},
    age:{type:Number},
    sex:{type:String}
});
// 選擇集合
var monModel = db.model('user',monSchema);
// 原資料欄位值
var oldValue  = {name:"Nick"};
// 單條件更新
var newData1 = {$set:{name:"內容"}};
// 多條件更新
var newData2 = {$set:{name:"內容",age:2}};
monModel.update(oldValue,newData,function(err,result){
  if(err){
    console.log(err);
  }else{
    console.log("update");
  }
  db.close();
});

查詢資料

// 引入模組
var mongoose = require('mongoose');
// 連線資料庫
var db = mongoose.createConnection('mongodb://127.0.0.1:27017/test');
// cosole.log(db);
// 設定資料型別
var monSchema = new mongooose.Schema({
    name:{type:String,default:"name"},
    age:{type:Number},
    sex:{type:String}
});
// 選擇集合
var monModel = db.model('user',monSchema);
var content = {name:"姓名2"};
var field = {name:1,age:1,sex:1};
monModel.find(content,field,function(err,result){
  if(err){
    console.log(err);
  }else{
    console.log(result);
  }
  db.close();
});