vadimdemedes / mongorito

🍹 MongoDB ODM for Node.js apps based on Redux
1.38k stars 90 forks source link

Mass assigment (fillable & guarded fields) #196

Open Zizaco opened 6 years ago

Zizaco commented 6 years ago

Summary

Due to the (by default) schemaless nature of MongoDB, ideally we would treat the entity schema at the application level.

A common practice to control the entity schema/fields when using the ActiveRecord pattern is to controll Mass Assigment.

Today there is no way to declare which fields of entity can be Mass Assigned.

Resources

About the subject and how other ORMs/ODMs behaves

https://en.wikipedia.org/wiki/Mass_assignment_vulnerability https://code.tutsplus.com/tutorials/mass-assignment-rails-and-you--net-31695 https://orator-orm.com/docs/master/orm.html#mass-assignment https://github.com/leroy-merlin-br/mongolid/blob/master/docs/basics.md#mass-assignment

What would be the ideal

@vadimdemedes what are you tought on this matter?

vadimdemedes commented 6 years ago

Interesting topic. I think it should be implemented as a plugin instead to keep the core lightweight. Unfortunately, I don't have time at the moment for it, so I can't give any ETAs. If you'd like to pick it up, I'd be happy to help if you'll have any questions about the API.