使用Node操作MongoDB数据库的方法

  • A+
所属分类:MongoDB

1.使用 MongoDB模块 进行操作

 起首在事情目次安装 mongodb 模块,

cnpm i mongodb//引入模块
const MongoClient = require('mongodb').MongoClient;
//写衔接字符串,我的数据库地址如下,以是当你在写的时刻改动地址之后的内容就好
const DB_CONN_STR= 'mongodb://127.0.0.1/demo';
//记得打开mongod服务 ,否则等着一堆err吧
//写一个插入数据的函数
const insertData = function(db,callback){
  let collection = db.collection('聚拢名');
  let data = [{"大众name"大众:"大众AAA"大众,"大众age"大众:"大众19"大众},{"大众name"大众:"大众BBB"大众,"大众age"大众:"大众20"大众}]
   // 向聚拢中添加数据
  collection.insert(data,function(err,result){
    if(err){
      console.log('Error'+err);
      return;
    }
    callback(result);
  });  
}
//衔接数据库      衔接串    回调函数
MongoClient.connect(DB_CONN_STR, function(err, db) {
  console.log("大众Done"大众);
  //挪用适才写好的函数
   insertData(db, function(result) {
     //输出返回成果
    console.log(result);
     //封闭衔接
     db.close();
   });
});

2.使用 Mongoose模块 进行操作

 2.1 创立文件db.js用来衔接(实在这一步也有一点问题,不该该把数据库衔接写到这里)

//创立文件 db.js
// 在这之前你应该已经安装了 mongoose || cnpm install mongoose
// 而且开启了mongod服务 
import mongoose from 'mongoose';
//mongoose.connect('mongodb://127.0.0.1:27017/demo'); 
//假如只是入地址,会报一个警告,不是差错,只属于是不保举的写法.保举下面这么写
mongoose.connect('mongodb://地址/数据库名',{useMongoClient: true});
const db = mongoose.connection;
// 
db.on('error',console.error.bind(console,'connection error:'));
db.once('open',function(callback){
   console.log("大众connection start"大众);
});
db.on('disconnected',function(){
  console.log("大众connstion is disconnected"大众);
});
module.exports = mongoose;

 2.2 Shema

创立文件stu.js保留操作

Mongoose中的统统来自于Schema。每个Schema都邑映射到MongoDB聚拢(collection)并界说该聚拢(collection)中的文档的 外形(类型)。

// 如名字所示,我们要创立的是 名字为 user 的Schmea
//假如以后要添加其他键,请使用Schema.add({})办法。
//引入适才写好的模块
import mongoose from './db'
const Shema = mongoose.Schema;
const UserShema = new Schema({
  name : {type:String},
  age : {type:Number},
  class : {type:String}
})
// Schema Types内置类型如下:
// String,Number,Boolean | Bool,Array,Buffer,Date,ObjectId | Oid,Mixed
// 假如你发现少了什么属性,可以使用 Shame.add();追加
UserShema.add{mail : 'String',pwd : 'String'}
// 然后使用 Schema 创立我们的model ,再参加到模块,这一步调很紧张
module.exports = mongoose.model('Student',UserSchema)

   2.3 Shema 的使用(增长篇)

//
//在 import user.js的时刻 启动了 mongoose.model('Classes',ClassSchema);参见上面的末了一段代码
import student from './stu'
class mannager{
  //第一种创立方式
  add(){
    let newStu = new student({
    name : '张三',
    age : 25,
    class : '年夜四'
    });
    newStu.save(function (err) {
    if (err) 
      return handleError(err);
    });
  }
  //第二种创立方式
  add2(){
    student.create({
     name : '张三',
     age : 25,
     class : '年夜四'
    },function(err){
      if (err) 
        return handleError(err);
    }); 
  }
   }

  Shema 的使用(查询篇)

 mongoose

支撑丰硕的查询MongoDB语法。文件可以使用每个模子中使用 find,findById,findOne,或者where,静态办法。  

//查询所有
  findAll(){
   return student.find(function(err,res){
      if (err) {
        return err;
      }else{
        let json = JSON.stringify(res); 
        return res;
      }
    });
  }
  //依照前提查询
  findByAge(age){
    return student.find({Age : age},function(err,res){
      if (err) {
        return err;
      }else{
        let json = JSON.stringify(res); 
        return res;
      }
    });
  }
  //多种前提
  findTest(){
    return Tank.find(
      { class: '年夜三' }).where('Age').gt(20).exec(callback);
  }

API文档包括了很多额外的办法,像 count,mapReduce,aggregate,更多。在这里就纷歧一举栗子了

总结

以上所述是小编给年夜家先容的使用Node操作MongoDB数据库的办法,愿望对年夜家有所赞助,假如年夜家有任何疑问请给我留言,小编会实时回复年夜家的。在此也异常感激年夜家对剧本之家网站的支撑!

您可能感兴致的文章:

应用Vue.js+Node.js+MongoDB实现一个博客体系(附源码)NodeJS衔接MongoDB数据库时报错的快速办理办法node.js衔接mongoDB数据库 快速搭建本身的web服务安装使用Mongoose共同Node.js操作MongoDB的根基教程Node.js和MongoDB实现简单日记阐发体系NodeJS进修条记之MongoDB模块AngularJS + Node.js + MongoDB开发的基于高德舆图地位的通信录node.js操作mongoDB数据库示例分享Node.js中使用mongoskin操作mongoDB实例

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: