zoukankan      html  css  js  c++  java
  • mongoose学习 芒果

    #mongoose的使用详解#

    ##1.Scheme、model和Entity##

    Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力

    Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对

    Entity : 由Model创建的实体,他的操作也会影响数据库

    它们之间的关系是Schema生成Model,Model创造Entity,Model和Entity都可对数据库操作造成影响,但Model比Entity更具操作性。

    ##2.做一些准备工作##

    Nodejs和mongodb的安装

    创建一个数据库连接

    1 var mongoose = require('mongoose');    //引用mongoose模块
    2 var db = mongoose.createConnection('localhost','test'); //创建一个数据库连接

    4.定义一个Schema

     var PersonSchema = new mongoose.Schema({
          name:String   //定义一个属性name,类型为String
        });

    5.将该Schema发布为Model

    var PersonModel = db.model('Person',PersonSchema);
    //如果该Model已经发布,则可以直接通过名字索引到,如下:
    //var PersonModel = db.model('Person');
    //如果没有发布,上一段代码将会异常

    6.用Model创建Entity

     var personEntity = new PersonModel({name:'Krouky'});
    //打印这个实体的名字看看
    console.log(personEntity.name); //Krouky

    7.我们甚至可以为此Schema创建方法

    //为Schema模型追加speak方法
    PersonSchema.methos.speak = function(){
          console.log('我的名字叫'+this.name);
    }
    var PersonModel = db.model('Person',PersonSchema);
    var personEntity = new PersonModel({name:'Krouky'});
    personEntity.speak();//我的名字叫Krouky

    8.Entity是具有具体的数据库操作CRUD

     personEntity.save();  //执行完成后,数据库就有该数据了

    9.如果要执行查询,需要依赖Model,当然Entity也是可以做到的

    PersonModel.find(function(err,persons){
          //查询到的所有person
    });

    参考资料: http://www.hubwiz.com/course/543b2e7788dba02718b5a4bd

  • 相关阅读:
    第一章-实例7-猴子吃桃问题
    第一章-实例6-判断是否为闰年
    第一章-实例3-计算变量所占字节数
    IDEA学习笔记
    spring boot学习概要(尚硅谷)
    JSP动态WEB开发技术--第一章
    学习前端的准备任务
    cmd优化
    软件测试基础概念
    软件工程理论
  • 原文地址:https://www.cnblogs.com/hubwiz/p/4091971.html
Copyright © 2011-2022 走看看