Node.js 操作MongoDB数据库
安装组件
- mongodb Node.js 官方对MongoDB的驱动
- mongoose Mongoose就是一套操作MongoDB数据库的接口.
这里我们采用mongoose 来对MongoDB数据库进行操作
****安装 Mongoose ,需要建立在已经安装了node.js和mongodb的基础上:
$ npm install mongodb [--save (将该模块的详细信息记录到package.json文件里,为了项目合并时,所需模块,不需要进行模块包的合并,使用 npm install package.json 里的所又模块都会安装)]
$ npm install mongoose
mongoose 实现对数据库的连接
六脉神剑
- 引入mongoose组件 require('mongoose');
- 创建 连接数据库
- 设置数据基础模型
- 设置你要操作的集合(表)
- 设置你操作的内容
- 执行操作
mongoose 对mongodb 的增删改查操作
添加
// 1. 引入mongoose模块
var mongoose = require('mongoose');
// 2. 连接数据库
var db = mongoose.createConnection('mongoose://192.168.1.9:27017','test_db');
db.on('err',console.error.bind(console,'连接错误');
db.once('open',function(
// 3. 设置基础数据模型
var mgSchema = new mongoose.Schema({
name:{type:String,default:'Tw'},
age:{type:Number},
sex:{type:String,default:'男'}
});
// 4. 设置你要操作的集合(表),并且设置集合的基础数据模型(表结构)
var mgModel = db.model('user',mgSchema);
// 5. 设置你要操作的内容
var content = {name:'name1',age:18,sex:'男'};
// 6. 执行操作
var mgInsert = new mgModel(content);
mgInsert.save(function(err){
if(err){
console.log(err);
}else{
console.log('插入成功');
}
db.close(); // 连接数据库关闭
});
));
修改
// 1. 引入mongoose模块
var mongoose = require('mongoose');
// 2. 连接数据库
var db = mongoose.createConnection('mongoose://192.168.1.9:27017','test_db');
db.on('err',console.error.bind(console,'连接错误');
db.once('open',function(
// 3. 设置基础数据模型
var mgSchema = new mongoose.Schema({
name:{type:String,default:'Tw'},
age:{type:Number},
sex:{type:String,default:'男'}
});
// 4. 设置你要操作的集合(表),并且设置集合的基础数据模型(表结构)
var mgModel = db.model('user',mgSchema);
// 5. 设置你要操作的内容
var content = {name:'name1'}; // 修改条件
var upInfo = {$set:{name:'tw',age:18}};
// 6. 执行操作
var mgInsert = new mgModel(content);
mgInsert.update(content,mgInfo,function(err,result){
if(err){
console.log(err);
}else{
console.log(result);
}
db.close(); // 连接数据库关闭
});
));
删除
// 1. 引入mongoose模块
var mongoose = require('mongoose');
// 2. 连接数据库
var db = mongoose.createConnection('mongoose://192.168.1.9:27017','test_db');
db.on('err',console.error.bind(console,'连接错误');
db.once('open',function(
// 3. 设置基础数据模型
var mgSchema = new mongoose.Schema({
name:{type:String,default:'Tw'},
age:{type:Number},
sex:{type:String,default:'男'}
});
// 4. 设置你要操作的集合(表),并且设置集合的基础数据模型(表结构)
var mgModel = db.model('user',mgSchema);
// 5. 设置你要操作的内容
var content = {name:'name1'}; // 修改条件
// 6. 执行操作
var mgInsert = new mgModel(content);
mgInsert.remove(content,function(err,result){
if(err){
console.log(err);
}else{
console.log(result);
}
db.close(); // 连接数据库关闭
});
));
查询
// 1. 引入mongoose模块
var mongoose = require('mongoose');
// 2. 连接数据库
var db = mongoose.createConnection('mongoose://192.168.1.9:27017','test_db');
db.on('err',console.error.bind(console,'连接错误');
db.once('open',function(
// 3. 设置基础数据模型
var mgSchema = new mongoose.Schema({
name:{type:String,default:'Tw'},
age:{type:Number},
sex:{type:String,default:'男'}
});
// 4. 设置你要操作的集合(表),并且设置集合的基础数据模型(表结构)
var mgModel = db.model('user',mgSchema);
// 5. 设置你要操作的内容
var content = {name:'tw'}; // 修改条件
var field = {name:1,age:1,sex:1}; // 定义查询的 键(字段)
// 6. 执行操作
var mgInsert = new mgModel(content);
mgInsert.remove(content,field,function(err,result){
if(err){
console.log(err);
}else{
console.log(result);
}
db.close(); // 连接数据库关闭
});
));