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中定义的字段形式。
图如下:
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学习参考文档