繁体   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