簡體   English   中英

使用 Mongoose 創建字典模式

[英]Creating a dictionary schema with Mongoose

我正在嘗試使用 Mongoose 存儲對象字典。 意識到我失去了使用 Mixed 類型保存的更改檢測,我希望我可以創建一個不需要 Mixed 類型的模式。

有很多為對象數組創建模式的示例,但沒有為對象字典創建模式。 是否有可能做到這一點?

格式:

{
    ObjectId : {
        "attempts" : {
            "response" : String,
            "timestamp" : Date
        },
        "complete" : Boolean
    }
}

mongoose不支持字典。 架構中的字段名稱不能是動態的。 您應該使用原始對象(嵌入式文檔)並將其實現為字典。 但是,當您更改該字段時,不會有來自mongoose驗證並在保存之前使用markModified

var fooSchema=mongoose.Schema({name:String, dic:{}});
//dic is your dictionary

更新:從 5.1 貓鼬有一個地圖類型: https : //mongoosejs.com/docs/schematypes.html#maps

你可以像這樣使用作為字典的字典:

var UserSchema = new Schema({
  meta: {
    votes: Number,
    favs:  Number
  }
  first_name:  String,
  last_name: String,
  profile_pic:   String,
  gender: String,
  timezone: Number
  date: { type: Date, default: Date.now },
  updated: { type: Date, default: Date.now },
  country: {id: Number, name: String}


});

暫無
暫無

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

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