The MongoDB Utilities for Node.js is an easy-to-use toolbox to work with MongoDB data and schemas.
- Initial beta release.
You can install this module via npm:
npm install @jfabello/mongodb-utilsTo use the mongodb-utils module, first import it into your code and then use the functions as needed. For example:
import { convertJSTypesToBSONTypes } from '@jfabello/mongodb-utils';
const jsObject = {
name: 'John Doe',
age: 30,
isActive: true,
createdAt: new Date(),
lastLogin: null,
};
const mongodbJSONSchema = {
$jsonSchema: {
bsonType: 'object',
properties: {
name: { bsonType: 'string' },
age: { bsonType: 'int' },
isActive: { bsonType: 'bool' },
createdAt: { bsonType: 'date' },
lastLogin: { bsonType: 'date' },
},
},
};
const bsonObject = convertJSTypesToBSONTypes(jsObject, mongodbJSONSchema);
console.dir(bsonObject, {depth: null});The convertJSTypesToBSONTypes() function converts the JavaScript types of an object to BSON types using a MongoDB JSON schema.
object(object): The object whose JavaScript types will be converted to BSON types.mongodbJSONSchema(object): The MongoDB JSON schema used to determine the BSON types.
An object with the JavaScript types converted to BSON types.
ERROR_MONGODB_UTILS_OBJECT_ARGUMENT_TYPE_INVALID: If theobjectargument type is not an object.ERROR_MONGODB_UTILS_JSON_SCHEMA_ARGUMENT_TYPE_INVALID: If themongodbJSONSchemaargument type is not an object.ERROR_MONGODB_UTILS_JSONSCHEMA_PROPERTY_NOT_FOUND: If the$jsonSchemaproperty was not found in the MongoDB JSON schema.ERROR_MONGODB_UTILS_JSONSCHEMA_TYPE_INVALID: If the$jsonSchemaproperty type is not an object.ERROR_MONGODB_UTILS_BSONTYPE_PROPERTY_NOT_FOUND: If thebsonTypeproperty was not found in the MongoDB JSON schema fragment.ERROR_MONGODB_UTILS_UNEXPECTED_OBJECT_FRAGMENT_TYPE: If the object fragment type is not expected.ERROR_MONGODB_UTILS_ADDITIONAL_PROPERTIES_NOT_ALLOWED: If additional properties are not allowed in the MongoDB JSON schema fragment.ERROR_MONGODB_UTILS_ITEMS_PROPERTY_NOT_FOUND: If theitemsproperty was not found in the MongoDB JSON schema fragment.ERROR_MONGODB_UTILS_UNEXPECTED_BSON_TYPE: If the BSON type in the MongoDB JSON schema fragment is not expected.
To run the tests for this module, first clone the repository using the following command:
git clone https://github.com/jfabello/mongodb-utils.gitThen, navigate to the project directory and install the npm dependencies, this will install the Jest testing framework:
cd mongodb-utils
npm installFinally, run the tests using the following command:
npm testUnfortunately, we are not able to accept contributions at this time.
If you find a bug in the code, please open an issue.
Thank you for your understanding.
This project is licensed under the MIT License. See the LICENSE file for details.