Schema | Model会带来的影响

schema: 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力
Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对
Entity: 由Model创建的实体,他的操作也会影响数据库

var PersonSchema = new mongoose.Schema({
    name: String
});
var PersonModel = db.model('wsyzb',PersonSchema);
var personEntity = new PersonModel({name:'dd'});
personEntity.save(); 

结果:在数据库test中创建了一张表wsyzbs。并添加了一行,字段是Schema中定义的字段形式。
图如下:
hhhh2

1.Model
必须通过Schema来创建Model。

var mongoose = require("mongoose");
var db = mongoose.createConnection('localhost','test');
db.on('error', console.error.bind(console, '连接错误:'));
db.once('open', function() {
    var PersonSchema = new mongoose.Schema({
        name: String //定义一个属性name,类型为String
    });
    var PersonModel = db.model('wsyzb',PersonSchema);
    var personEntity = new PersonModel({name:'dd'});
    personEntity.save(); 
    // 直接查询
    PersonModel.find({'name': 'dd'},'',function(err,persons){
    	console.log(persons);
    });
    //  链式查询
    var rest = PersonModel.find({'name': 'dd'});
    rest.select('');
    rest.exec(function(err,persons){
    	console.log(persons);
    });
});

2.Entity
可以通过Model来创建Entity,Entity实体是一个特有Model具体对象,但是他并不具备Model的方法,只能用自己的方法。

参考文章:
Mongoose学习参考文档

此条目发表在数据库分类目录。将固定链接加入收藏夹。

发表评论

邮箱地址不会被公开。 必填项已用*标注