Node.js 操作MongoDB數(shù)據(jù)庫
安裝組件
- mongodb Node.js 官方對(duì)MongoDB的驅(qū)動(dòng)
- mongoose Mongoose就是一套操作MongoDB數(shù)據(jù)庫的接口.
這里我們采用mongoose 來對(duì)MongoDB數(shù)據(jù)庫進(jìn)行操作
****安裝 Mongoose 摄咆,需要建立在已經(jīng)安裝了node.js和mongodb的基礎(chǔ)上:
$ npm install mongodb [--save (將該模塊的詳細(xì)信息記錄到package.json文件里凡蚜,為了項(xiàng)目合并時(shí),所需模塊吭从,不需要進(jìn)行模塊包的合并朝蜘,使用 npm install package.json 里的所又模塊都會(huì)安裝)]
$ npm install mongoose
mongoose 實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的連接
六脈神劍
- 引入mongoose組件 require('mongoose');
- 創(chuàng)建 連接數(shù)據(jù)庫
- 設(shè)置數(shù)據(jù)基礎(chǔ)模型
- 設(shè)置你要操作的集合(表)
- 設(shè)置你操作的內(nèi)容
- 執(zhí)行操作
mongoose 對(duì)mongodb 的增刪改查操作
添加
// 1. 引入mongoose模塊
var mongoose = require('mongoose');
// 2. 連接數(shù)據(jù)庫
var db = mongoose.createConnection('mongoose://192.168.1.9:27017','test_db');
db.on('err',console.error.bind(console,'連接錯(cuò)誤');
db.once('open',function(
// 3. 設(shè)置基礎(chǔ)數(shù)據(jù)模型
var mgSchema = new mongoose.Schema({
name:{type:String,default:'Tw'},
age:{type:Number},
sex:{type:String,default:'男'}
});
// 4. 設(shè)置你要操作的集合(表),并且設(shè)置集合的基礎(chǔ)數(shù)據(jù)模型(表結(jié)構(gòu))
var mgModel = db.model('user',mgSchema);
// 5. 設(shè)置你要操作的內(nèi)容
var content = {name:'name1',age:18,sex:'男'};
// 6. 執(zhí)行操作
var mgInsert = new mgModel(content);
mgInsert.save(function(err){
if(err){
console.log(err);
}else{
console.log('插入成功');
}
db.close(); // 連接數(shù)據(jù)庫關(guān)閉
});
));
修改
// 1. 引入mongoose模塊
var mongoose = require('mongoose');
// 2. 連接數(shù)據(jù)庫
var db = mongoose.createConnection('mongoose://192.168.1.9:27017','test_db');
db.on('err',console.error.bind(console,'連接錯(cuò)誤');
db.once('open',function(
// 3. 設(shè)置基礎(chǔ)數(shù)據(jù)模型
var mgSchema = new mongoose.Schema({
name:{type:String,default:'Tw'},
age:{type:Number},
sex:{type:String,default:'男'}
});
// 4. 設(shè)置你要操作的集合(表)涩金,并且設(shè)置集合的基礎(chǔ)數(shù)據(jù)模型(表結(jié)構(gòu))
var mgModel = db.model('user',mgSchema);
// 5. 設(shè)置你要操作的內(nèi)容
var content = {name:'name1'}; // 修改條件
var upInfo = {$set:{name:'tw',age:18}};
// 6. 執(zhí)行操作
var mgInsert = new mgModel(content);
mgInsert.update(content,mgInfo,function(err,result){
if(err){
console.log(err);
}else{
console.log(result);
}
db.close(); // 連接數(shù)據(jù)庫關(guān)閉
});
));
刪除
// 1. 引入mongoose模塊
var mongoose = require('mongoose');
// 2. 連接數(shù)據(jù)庫
var db = mongoose.createConnection('mongoose://192.168.1.9:27017','test_db');
db.on('err',console.error.bind(console,'連接錯(cuò)誤');
db.once('open',function(
// 3. 設(shè)置基礎(chǔ)數(shù)據(jù)模型
var mgSchema = new mongoose.Schema({
name:{type:String,default:'Tw'},
age:{type:Number},
sex:{type:String,default:'男'}
});
// 4. 設(shè)置你要操作的集合(表)谱醇,并且設(shè)置集合的基礎(chǔ)數(shù)據(jù)模型(表結(jié)構(gòu))
var mgModel = db.model('user',mgSchema);
// 5. 設(shè)置你要操作的內(nèi)容
var content = {name:'name1'}; // 修改條件
// 6. 執(zhí)行操作
var mgInsert = new mgModel(content);
mgInsert.remove(content,function(err,result){
if(err){
console.log(err);
}else{
console.log(result);
}
db.close(); // 連接數(shù)據(jù)庫關(guān)閉
});
));
查詢
// 1. 引入mongoose模塊
var mongoose = require('mongoose');
// 2. 連接數(shù)據(jù)庫
var db = mongoose.createConnection('mongoose://192.168.1.9:27017','test_db');
db.on('err',console.error.bind(console,'連接錯(cuò)誤');
db.once('open',function(
// 3. 設(shè)置基礎(chǔ)數(shù)據(jù)模型
var mgSchema = new mongoose.Schema({
name:{type:String,default:'Tw'},
age:{type:Number},
sex:{type:String,default:'男'}
});
// 4. 設(shè)置你要操作的集合(表)暇仲,并且設(shè)置集合的基礎(chǔ)數(shù)據(jù)模型(表結(jié)構(gòu))
var mgModel = db.model('user',mgSchema);
// 5. 設(shè)置你要操作的內(nèi)容
var content = {name:'tw'}; // 修改條件
var field = {name:1,age:1,sex:1}; // 定義查詢的 鍵(字段)
// 6. 執(zhí)行操作
var mgInsert = new mgModel(content);
mgInsert.remove(content,field,function(err,result){
if(err){
console.log(err);
}else{
console.log(result);
}
db.close(); // 連接數(shù)據(jù)庫關(guān)閉
});
));