mongoose的基本操作

Posted ConfigSzy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongoose的基本操作相关的知识,希望对你有一定的参考价值。

Mongoose库简而言之就是对node环境中MongoDB数据库操作的封装,通过操作javascript对象来操作数据库,代码会显得特别清晰。

一丶  npm install mongoose  --save    

下载Mongoose(其中包括了mongodb,不用重复Require)

二丶官网提供的hello模板

var mongoose = require(‘mongoose‘);     //引入mongoose
mongoose.connect(‘mongodb://localhost/test‘);  // 连接数据库

var Cat = mongoose.model(‘Cat‘, { name: String });   // 创建一个Model模型 也就相当于创建了一个cats表

var kitty = new Cat({ name: ‘Zildjian‘ });  //实例化一个Model模型 ,相当于创建一个Kitty集合
kitty.save(function (err) {    //save()方法,保存该对象,也就是向数据库增加;
  if (err) {
    console.log(err);
  } else {
    console.log(‘meow‘);
  }
});

 三丶mongoose的具体使用

   1,连接数据库

var mongoose = require(‘mongoose‘);
//创建数据库连接
var db=mongoose.createConnection(‘mongodb://127.0.0.1:27017/student‘);
//监听open事件
db.once(‘open‘, function (callback) {
   console.log("数据库成功连接");
});

       2丶定义模型

//创建了一个schema结构。
var studentSchema = new mongoose.Schema({
    name     :  {type : String},
    age      :  {type : Number},
});
var studentModel = db.model(‘Student‘, studentSchema);

      3丶增

mongooseModel.create({name:‘XiaoMIng‘,age:‘18‘}, function(error){
    if(error) {
        console.log(error);
    } else {
        console.log(‘成功添加小明同学信息‘);
    }
    // 关闭数据库链接
    db.close();
});

     4丶删

mongooseModel.remove({name:‘XiaoMing‘}, function(error){
    if(error) {
        console.log(error);
    } else {
        console.log(‘成功删除小明同学信息‘);
} //关闭数据库链接 db.close(); });

     5丶改

var conditions = {name: ‘XiaoMing};
var update     = {$set : {age : 27}};
var options    = {};
mongooseModel.update(conditions, update, options, function(error){
    if(error) {
        console.log(error);
    } else {
        console.log(‘成功修改小明的的年龄);
    }
    //关闭数据库链接
    db.close();
});

          6丶查

var select = {name: ‘小明‘}; // 查询条件
mongooseModel.find(select,function(error, result){ if(error) { console.log(error); } else { console.log(result); } //关闭数据库链接 db.close(); });

  四丶自定义静态方法

//自定义一个通过年龄查询学生的方法
mongooseSchema.statics.findFromage = function(age, callback) { this.model(student).find({age: age}, callback); }
//通过年龄查询所有学生信息
student.findFromage(
30,function(err,result){ console.log(result) })

 

以上是关于mongoose的基本操作的主要内容,如果未能解决你的问题,请参考以下文章

mongoose 给文档的子数组的头部插入数据

mongoose的基本操作

使用预先生成的id创建一个mongoose记录

ionic 实现类似于JQuery的AutoComplete

VSCode自定义代码片段——git命令操作一个完整流程

在客户端代码中重用 Mongoose 模式