前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mongoose食用姿势!

mongoose食用姿势!

作者头像
十月梦想
发布2018-08-29 10:14:15
1.5K0
发布2018-08-29 10:14:15
举报
文章被收录于专栏:十月梦想

什么是Mongoose?

Mongoose库简而言之就是对node环境中MongoDB数据库操作的封装,一种对象模型工具,可以将数据库中的数据转换为JavaScript对象供我们使用。

下载mongoose?

代码语言:javascript
复制
npm insatll mongoose

如何使用mongoose?

代码语言:javascript
复制
require("mongoose");

mongoose官网

http://mongoosejs.com

mongoose入门

简单看一下官网的hello world入门代码

代码语言:javascript
复制
//    引包,并不需要引用mongodb这个包
    var mongoose = require('mongoose');
    //链接数据库,itatic是数据库名字
    mongoose.connect('mongodb://127.0.0.1:27017/itatic');
     
    //创建了一个模型。猫的模型。所有的猫,都有名字,是字符串。“类”。
    var Cat = mongoose.model('Cat', { name: String });
    //实例化一只猫
    var kitty = new Cat({ name: 'Zildjian' });
    //调用这只猫的save方法,保存这只猫
    kitty.save(function (err) {
      console.log('喵喵喵');
    });
     
    var tom = new Cat({"name":"汤姆"});
    tom.save(function(){
           console.log('喵喵喵');
    });

上述代码没有明显操作数据库的语句,例如前面的MongoDB的db.find,update,remove,insert等,很明显都是类方法使用,创建类,实例化类,使用类,操作类对象时候数据库以及被持久化了!

模型

代码语言:javascript
复制
//创建一个小狗模型
mongoose.model("dog",{name:String,age:Number})
//实例化这个小狗
var wangcai=new dog({"name":"旺财","age":4})
//然后把这个wangcai这个类进行save方法后就存入数据库中

mongoose所有的操作不慎对数据库操作,所有的操作都是对类、实例进行的。但是数据库的持久化自动完成了。

数据库连接

固定格式:

代码语言:javascript
复制
var mongoose = require('mongoose');
//创建数据库连接
var db      = mongoose.createConnection('mongodb://127.0.0.1:27017/haha');
//监听open事件
db.once('open', function (callback) {
    console.log("数据库成功连接");
});

定义模型

步骤:建立schema结构 → 定义静态方法 → 建立模型

创造schema结构

语法:new mongoose.Schema({})

实例:

代码语言:javascript
复制
var StudentShema = new mongoose.Schema({
"name":{type:String},
"sex":{type:String},
"age":{type:Number}

})

定义静态方法

语法:db.model({"Student",shema名字})

实例:

代码语言:javascript
复制
//查找的静态方法(只能定义在model层)
StudentSchema.statics.chazhao=function(name,callback){
  this.model("Student").find({"name":name},callback)
}
//修改的静态方法
StudentSchema.statics.xiugai=function(where,set,options,callback){
  this.model("Student").update(where,set,options,callback)
}

创建模型

代码语言:javascript
复制
//创建了一个模型,就是学生模型,就是学生类。
//类是基于schema创建的。
var studentModel = db.model('Student', studentSchema);

无需操作数据库,只需要考虑操作类,实例,让数据库变得简单!实例方法和静态模型方法进行数据库操作,数据库可以保持持久化!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-8-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是Mongoose?
  • 下载mongoose?
  • 如何使用mongoose?
  • mongoose官网
  • mongoose入门
  • 模型
  • 数据库连接
  • 定义模型
    • 创造schema结构
      • 定义静态方法
        • 创建模型
        相关产品与服务
        数据库
        云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档