创建一个 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 路由一起使用可提供对架构的访问。