Mongoose

Mongoose

关系型数据库使用来存储数据,使用来组织,一个表内有多个行。想获取数据,要使用SQL语言查询。 MongoDB是非关系型(NOSQL)数据库,也叫文档数据库,没有关系型数据库中的概念,类似的只有集合文档的概念。 集合文档有点类似。

使用mongoose连接数据库

var mongoose=require('mongoose'),
db_url='mongodb://localhost:12345/dbCol';
//dbCol是一个数据库名称

mongoose.connect(db_url);

mongoose.connection.on('connected',function(){
    console.log('mongoose connection open to '+ db_url);
});
//除了connected事件,还有error、disconnected

Schema

一种以文件形式存储的数据库模型骨架,无法直接通往数据库端,也就是说它不具备对数据库的操作能力. 每一个schema会映射到mongodb当中的collection

//定义一个Schema

SchemaGo=mongoose.Schema;
//新建一个schema实例对象
var UserSchema=new SchemaGo({
    username:{type:String},
    userpwd:{type:String},
    userage:{type:Number},
    logindate:{type:Date},
});

schema中的数据类型

  • String

  • Number

  • Date

  • Boolean

  • Buffer

  • ObjectId

  • Mixed

  • Array

model

model是由schema生成的模型,可以对数据库的操作。

//model

var UserDo= mongoose.model('UserBo',UserSchema);
//UserBo为Model的名字,也是数据库中collection的名字,UserSchema为生成Model所需要的schema,Model就像是schema所编译而成的一样。

var user = new UserDo({
    username : 'niefee',
    userpwd:'adsf',
    userage:24,
    logindate : new Date()
});

//保存数据
user.save(function(err,res){
    if(err){
        console.log('err>>>',err);
    }else{
        console.log('res>>',res);
    }
});

参考

Last updated