mongo-schema-genrator
v0.0.5
Published
An module to convert normal JS object to Mongo Schema
Downloads
3
Readme
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)