簡體   English   中英

Mongoose 架構枚舉和 typescript 枚舉

[英]Mongoose Schema enum and typescript enums

我們有一個基於 Typescript 的 NodeJs 項目,它使用 Mongoose。我們正試圖找到一種合適的方法來基於 Typescript 枚舉在 Mongoose 架構上定義枚舉字段。 以枚舉為例:

enum StatusType {
    Approved = 1,
    Decline = 0,
}
const userSchema = new Schema({
   user: { type: Schema.Types.ObjectId, ref: 'User' },

statusType: {
      type: Number,
      default: StatusType.Approved,
      enum: Object.values(StatusType)
   }
});

但是我們不斷收到驗證錯誤,但每當我們將statusType的類型更改為

type: String

它有效,但它將狀態保存為字符串,如“0”而不是0

你可以試試

statusType: {
  type: Number,
  default: StatusType[StatusType.Approved],
  enum: Object.values(StatusType)
}

Typescript 枚舉真的很模糊並且有很多問題,請嘗試使用

const StatusType = {
    Decline: 1,
    Approved: 0
} as const;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM