I have a mongo
object and wish to access it via mongoose
for my web app. The schema I\'ve defined has an Object
storing user ids and a
You may define objects and arrays in your schema. You may even combine them. For example, this is an array of objects:
var user = new Schema({
foo: [ {
address: {type: String},
email: {type: String, unique: true}
}],
bar: [ "simple", "array" ]
});
You may try with Schema Type Mixed like this way
var user = new Schema({
info: [Schema.Types.Mixed]
});
user.info = { any: { thing: 'i want' } };
user.markModified('info');
You can read more about it here
You'll be better off if you avoid dynamic keys in your schema and go with your second idea of:
user_info: [{sessionid: String, value: String}]
You can use the $ positional operator to update individual user_info
array elements by sessionid
.
After testing the above, I found that defining the schema as user_info: { String: String }
is a valid way to do this (option 1 specified in the question).