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 3-level value (yes, maybe or no).
e.g.
"user_info": {
"<id_value_1>": "y",
"<id_value_2>": "n"
}
The id_value_*
s above are the users session ids so a long string of random characters. How can I create a mongoose
Schema
for this?
Would user_info: {String, String}
work?
I could restructure it so that the user_info
is an array of objects { "sessionid": "<value>", "value: "y"}
, which would be ok, is this the best option?
_id field is auto generated by Mongoose and gets attached to the Model, and at the time of saving/inserting the document into MongoDB, MongoDB will use that unique _id field which was generated by Mongoose.
model() Function. The mongoose. model() function of the mongoose module is used to create a collection of a particular database of MongoDB.
By default, MongoDB creates an _id property on every document that's of type ObjectId. Many other databases use a numeric id property by default, but in MongoDB and Mongoose, ids are objects by default.
A Mongoose model is a wrapper on the Mongoose schema. A Mongoose schema defines the structure of the document, default values, validators, etc., whereas a Mongoose model provides an interface to the database for creating, querying, updating, deleting records, etc.
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
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With