0.0.5 • Published 3 years ago

mongo-schema-genrator v0.0.5

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

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 ?

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

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

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)