我爱编程

XDL_NO.8 Node.js 操作MongoDB数据库

2016-08-16  本文已影响74人  Junting

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 实现对数据库的连接

六脉神剑

  1. 引入mongoose组件 require('mongoose');
  2. 创建 连接数据库
  3. 设置数据基础模型
  4. 设置你要操作的集合(表)
  5. 设置你操作的内容
  6. 执行操作

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();          // 连接数据库关闭
  });
));
上一篇下一篇

猜你喜欢

热点阅读