美文网首页
mongoose入门

mongoose入门

作者: 其实杰伦 | 来源:发表于2016-08-14 21:18 被阅读88次

    前提: 链接

    var mongoose = require('mongoose')
    var db = mongoose.connect('mongodb://127.0.0.1:27017/person') //链接的ip地址
    db.connection.on('error', (err) => {
        console.log('数据库连接失败'+err)
    })
    db.connection.on('open', () => {
        console.log('数据库连接成功')
    })
    
    

    一.Schema(数据属性模型)

    数据库模型骨架,相当于传统的表结构,规定文档的字段结构

    //定义schema
    var PersonSchema = new mongoose.Schema({
        name : {type: String},
        age : {type: Number, default:0},
        time : {type: Date, default: Date.now()},
        email: {type:String, default:''}
    })
    //基本数据类型有:String, Date, Number,boolean, null, Array等
    

    二.model

    由Schema构造生成的模型,具有操作数据库的能力,类似传统数据库属性,行为的类
    通过Schema创建model;
    db.model('[collection_name]', [collection_Schema]):

    • collection_name:集合的名称,没有则会创建并保存,在mongodb中会更新collection_name的名字自动生成相匹配的集合名称,比如会加上s或者其他相近的集合名;
    • collection_Schema: 之前定义的集合的schema数据结构对象
      var PersonModel = db.model('student', PersonSchema)
    

    三.创建entity实体

    由Model创建的实体,相当于一个具体的文档,可用save()来保存数据;

    
     //创建entity实体 参数就是schema定义的字段
     var personEntity = new PersonModel({
         name: 'qiansimin',
         age: 12,
         email: '348867341@qq.com'
     })
    
    //保存
    personEntity.save((err, doc) => {
        if(err) {
            console.log('error'+err)
        }else {
            console.log(doc)
        }
    })
    

    四.查询等操作

    http://school.zhufengpeixun.cn/course/46/learn#lesson/431, 查询都是通过模型model来查询的哦

    相关文章

      网友评论

          本文标题:mongoose入门

          本文链接:https://www.haomeiwen.com/subject/tboysttx.html