创建一个 Mongoose 模型
const Schema = mongoose.Schema;
const ObjectId = Schema.Types.ObjectId;
const Article = new Schema({
title: {
type: String,
unique: true,
required: [true, 'Article must have title']
},
author: {
type: ObjectId,
ref: 'User'
}
});
module.exports = mongoose.model('Article, Article);
让我们剖析一下。MongoDB 和 Mongoose 使用 JSON(实际上是 BSON,但这里不相关)作为数据格式。在顶部,我设置了一些变量来减少输入。
我创建了一个 new Schema
并将其分配给常量。它是简单的 JSON,每个属性都是另一个具有有助于实施更一致的架构的属性的对象。唯一强制插入数据库的新实例显然是唯一的。这非常适合阻止用户在服务上创建多个帐户。
必需是另一个,声明为数组。第一个元素是布尔值,第二个元素是插入或更新的值不存在时的错误消息。
ObjectIds 用于模型之间的关系。示例可能是用户有很多评论。可以使用其他属性而不是 ObjectId。像用户名这样的字符串就是一个例子。
最后,导出模型以与 API 路由一起使用可提供对架构的访问。