UNPKG

mongo-schema-genrator

Version:

An module to convert normal JS object to Mongo Schema

96 lines (80 loc) 2.77 kB
# Installation ``` npm i mongo-schema-genrator ``` # Why use us? Are you also annyoned writing Mongo DB Schema for your Database? if Yes than you are at the right place, you can use this package to easily convert a JSON Objec to Mongo Schema of your choice. also ignore the typo in generator xD # How to Use ? ```js const generator = require('./src'); // The JSON object which have your data const data = { uid: 6942001, name: "Shisui Sama", address: { latitude: 234567890, longitude: 234567890, fullAddress: "3569 Half and Half Drive", }, pogger: true, projects: ["Krazy Bot", "discord-slash-command-handler", "mongo-schema-genrator"], mistakes: "genrator in spelling lmao" }; // True if you want default values, otherwise false const defaultValues = true; // OPTIONAL // Location where you want us to create file const location = "/userProfile.js"; // The options for schema const options = { // OPTIONAL required: ["uid", "address", "name"], // These properties will have required property setted to true unique: ["address", "uid"] // These properties will have unqiue property setted to true } generator(data, location, defaultValues, options); // You can see the output in Output box ``` # Outputs ## Basic Output ```js const mongoose = require('mongoose'); const Schema = new mongoose.Schema({ uid: { type: Number, required: true , unqiue: true }, name: { type: String, required: true }, address: { latitude : { type: Number } , longitude : { type: Number } , fullAddress : { type: String } }, pogger: { type: Boolean }, projects: [ { type: String } , { type: String } , { type: String } ], mistakes: { type: String } }); module.exports = mongoose.model('userProfile',Schema) ``` ## Output with Defaults So defaults are the values you provided in the JSON Object ```js const mongoose = require('mongoose'); const Schema = new mongoose.Schema({ uid: { type: Number, required: true , unqiue: true }, name: { type: String, required: true }, address: { latitude : { type: Number,default:234567890 } , longitude : { type: Number,default:234567890 } , fullAddress : { type: String,default:'3569 Half and Half Drive' } }, pogger: { type: Boolean,default:true }, projects: [ { type: String,default:'Krazy Bot' } , { type: String,default:'discord-slash-command-handler' } , { type: String,default:'mongo-schema-genrator' } ], mistakes: { type: String,default:'genrator in spelling lmao' } }); module.exports = mongoose.model('userProfile',Schema) ```