aldeed:schema-deny
A Meteor package that allows you to deny inserting or updating certain properties in your database by setting options in your schema.
Installation
In your Meteor app directory, enter:
meteor add aldeed:schema-deny
Usage
If you set denyUpdate: true
, any collection update that modifies the field will fail. For instance:
1const postSchema = new SimpleSchema({ 2 title: { 3 type: String 4 }, 5 content: { 6 type: String 7 }, 8 createdAt: { 9 type: Date, 10 denyUpdate: true 11 } 12}); 13 14const Posts = new Mongo.Collection('posts'); 15Posts.attachSchema(postSchema); 16 17const postId = Posts.insert({title: 'Hello', content: 'World', createdAt: new Date()});
The denyInsert
option works the same way, but for inserts. If you set denyInsert
to true, you will need to set optional: true
as well.
Contributing
Anyone is welcome to contribute. Fork, make and test your changes (meteor test-packages ./
), and then submit a pull request.
Running Tests
cd tests npm i && npm test
Running Tests in Watch Mode
cd tests npm i && npm run test:watch