文档模型

76 阅读1分钟

文档日期:2021/2/2

参考文档:mongoose 5.x中文文档 链接地址

文档记录:刘俊雄

Models 是从 Schema 编译来的构造函数。 它们的实例就代表着可以从数据库保存和读取的 documents。 从数据库创建和读取 document 的所有操作都是通过 model 进行的。

编译你的第一个 model

var schema = new mongoose.Schema({ name: 'string', size: 'string' });
var Tank = mongoose.model('Tank', schema);

第一个参数是跟 model 对应的集合( collection )名字的

单数

形式。 Mongoose 会自动找到名称是 model 名字 *复数* 形式的 collection 。 对于上例,Tank 这个 model 就对应数据库中 tanks 这个 collection。.model() 这个函数是对 schema 做了拷贝(生成了 model)。 你要确保在调用 .model() 之前把所有需要的东西都加进 schema 里了!

构造 documents

Documents 是 model 的实例。 创建它们并保存到数据库非常简单:

var Tank = mongoose.model('Tank', yourSchema);
// 添加数据
Tank.create({ size: 'small' }, function (err, small) {
  if (err) return handleError(err);
  // saved!
})

要注意,直到 model 使用的数据库连接( connection )被打开,tanks 才会被创建/删除。每个 model 都有一个绑定的连接。 如果 model 是通过调用 mongoose.model() 生成的,它将使用 mongoose 的默认连接。