mongoose学习笔记

在使用nodejs+mongodb+express搭建个人博客的时候,mongodb使用的是2.2.3版本,虽然足够使用了,但也有一些不尽人意的地方,所以在后期还是决定学习一下mongoose,使用mongoose来搭建这个个人博客。

1.连接数据库

var dbUrl = 'mongodb://localhost:27017/Cblog';//我的数据库名字为Cblog
mongoose.Promise = global.Promise;
mongoose.connect(dbUrl,{ useNewUrlParser: true });

2.介绍一下mongoose中的几个重要的基本概念(源地址:https://blog.csdn.net/yakie/article/details/79035771

  • Schema: 相当于一个数据库的模板. Model可以通过mongoose.model 集成Schema的基本属性内容. 当然也可以选择不继承.
  • Model: 基本文档数据的父类,通过集成Schema定义的基本方法和属性得到相关的内容.
  • instance: 这就是实实在在的数据了. 通过 new Model()初始化得到.

Schema用来定义数据库文档结构,数据库有什么字段、字段是什么类型、默认值、主键之类的信息。除了定义结构外,还能定义文档的实例方法,静态模型方法,复合索引,中间件等。详情查看mongoose官方文档。

Models 是从 Schema 编译来的构造函数。 它们的实例就代表着可以从数据库保存和读取的 document。 从数据库创建和读取 document 的所有操作都是通过 model 进行的。

通过一个demo理解mongoose操作数据的流程

    //定义一个schema
    let Schema = mongoose.Schema({
        category:String,
        name:String
    });
    Schema.methods.eat = function(){
        console.log("I've eatten one "+this.name);
    }
    //继承一个schema
    //.modle()第一个参数是跟 model 对应的集合( collection )名字的 单数 形式。 Mongoose 会自动找到名称是 model 名字 复数 形式的 collection 。
    // 对于下例,fruit 这个 model 就对应数据库中 fruits 这个 collection。.model() 这个函数是对 schema 做了拷贝(生成了 model)。 你要确保在调用 .model() 之前把所有需要的东西都加进 schema 里了
    let Model = mongoose.model("fruit",Schema);
    //生成一个document
    let apple = new Model({
        category:'apple',
        name:'apple'
    });
    //存放数据
    apple.save((err,apple)=>{
        if(err) return console.log(err);
        apple.eat();
    //查找数据
        Model.find({name:'apple'},(err,data)=>{
            console.log(data);
        })
    });

3.然后就可以对数据进行增删查改了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值