[英]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.