建立一個 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 路由一起使用可提供對架構的訪問。