I am trying to store a dictionary of objects using Mongoose. Realizing that I lose the change detection for saving with using the Mixed type, I was hoping I could create a schema that would not require the Mixed type.
There are plenty of examples of creating schemas for arrays of objects, but not dictionaries of objects. Is it possible to do this?
Format:
{
ObjectId : {
"attempts" : {
"response" : String,
"timestamp" : Date
},
"complete" : Boolean
}
}
There is no support for dictionary in mongoose
. Field name can't be dynamic in a schema. You should go with a raw object(embedded document) and implement it as a dictionary. But there will be no validation from mongoose
and use markModified before saving whenever you have changed that field
var fooSchema=mongoose.Schema({name:String, dic:{}});
//dic is your dictionary