Mongoose Schema secured field
mongoose
Solution
Define the field as a virtual getter instead of a traditional field.
For example, say you wanted to make the `pop` field of your collection read-only when accessed via Mongoose:
var schema = new Schema({
city: String,
state: String
});
schema.virtual('pop').get(function() {
return this._doc.pop;
});
By accessing the private `_doc` member of your model instance it's possible this may break in the future, but this worked fine when I tested it just now.
Problem
Short and clear: is there any way to prevent setting a schema field but allowing to get the value? I've been around the Mongoose Documentation but can't find what I'm looking for.