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

  • 相关阅读:
    为什么说http协议是无状态协议
    LR中获取当前系统时间的方法
    在Ubuntu Server下配置LAMP环境
    服务器性能监控
    性能测试:过程和重要指标
    LR中线程和进程的区别
    怎样获取Windows平台下SQL server性能计数器值
    用Excel创建SQL server性能报告
    Windows下部署Appium教程(Android App自动化测试框架搭建)
    性能测试指标
  • 原文地址:https://www.cnblogs.com/hubwiz/p/4091971.html
Copyright © 2011-2022 走看看