MongoValid is an npm package designed to provide robust, database-level validation for MongoDB, bringing more type safety to backend API development. This tool helps developers streamline their MongoDB workflows by simplifying the process of applying schema validation directly at the database level, ensuring that only valid data is persisted.
Please visit the documentation here
To install the package, use npm:
npm install mongovalid
import { MongoClient } from 'mongodb';
import {
applyValidation,
ValidationAction,
ValidationLevel,
TValidationSchema,
BSONType
} from 'mongovalid'
async function main() {
const uri = 'mongodb://localhost:27017';
const connection = await MongoClient.connect(uri);
const db = connection.db('mydatabase');
// T: BSONType, R: required?
const schema: TValidationSchema = {
_id: {
T: BSONType.objectId
} // default R: true
name: {
T: BSONType.string
},
age: {
T: BSONType.number,
R: false
},
};
await applyValidation('mycollection', schema, db);
// Change validation level moderate
await applyValidation('mycollection', schema, db, ValidationLevel.moderate);
// Change validation level to moderate and validation action to warn
await applyValidation('mycollection', schema, db, ValidationLevel.moderate, ValidationAction.warn);
console.log('Validation applied successfully');
}
main().catch(console.error);