Schema Files of our example
FileName: users.js
var mongoose = require('mongoose'); var Schema = mongoose.Schema; var usersSchema= new Schema({ userid:{type:String,index:true,unique:true,trim:true,required:true}, password:{type:String,default:"1234567"}, balancechips:{type:Number,default:0.0}, state:{type:Number,default:2}, emailid:{type:String,required:true,match: /.+\@.+\..+/,index:true} },{collection:'users'}); usersSchema.statics.getId=function(_userid,cb){ console.log("userid"+_userid); return UserModel.find({ userid: new RegExp(_userid, 'i') },{userid:1,_id:1}, cb); }; usersSchema.methods.getUserId=function(_userid,cb){ console.log("userid"+_userid); return UserModel.find({ userid: new RegExp(_userid, 'i') },{userid:1,_id:1}, cb); }; UserModel = mongoose.model('Users',usersSchema); module.exports={UserModel};
FileName: address.js
var mongoose = require('mongoose'); var users = require('./users'); var Schema = mongoose.Schema; var addressSchema= new Schema({ userid:{type:Schema.Types.ObjectId,ref:'users',required:true}, addresstype:{type:String,default:"Residence"}, city:{type:String}, state:{type:String}, country:{type:String}, pincode:{type:Number,required:true} },{collection:'address'}); AddressModel = mongoose.model('Address',addressSchema); module.exports={AddressModel};
FileName: games.js
var mongoose = require('mongoose'); var Schema = mongoose.Schema; var gamesSchema= new Schema({ gameid:{type:String,index:true,unqiue:true}, gamename:{type:String,trim:true}, state:{type:Number,default:0},//0 Inactive 1 active minbet:{type:Number,default:1.0}, maxbet:{type:Number,deafult:1000.0} },{collection:'games'}); GamesModel = mongoose.model('Games',gamesSchema); module.exports={GamesModel};
FileName: loginsession.js
var mongoose = require('mongoose'); var users = require('./users'); var Schema = mongoose.Schema; var loginsessionSchema= new Schema({ userid:{type:Schema.Types.ObjectId,ref:'Users',required:true}, sessionid:{type:String,index:true,unqiue:true}, ip:{type:String,trim:true}, startworth:{type:Number,default:0}, endworth:{type:Number,default:0}, logintime:{type:Date,default:new Date()}, logouttime:{type:Date,default:new Date()}, totalbet:{type:Number,default:0.0}, totalwin:{type:Number,default:0.0} },{collection:'loginsession'}); LoginsessionModel = mongoose.model('LoginSession',loginsessionSchema); module.exports={LoginsessionModel};
FileName: gameplaylogs.js
var mongoose = require('mongoose'); var users = require('./users'); var ls = require('./loginsession'); var games = require('./games'); var Schema = mongoose.Schema; var gameplaylogsSchema= new Schema({ logid:{type:String,index:true,trim:true,unique:true,required:true}, userid:{type:Schema.Types.ObjectId,ref:'Users',required:true}, sessionid:{type:Schema.Types.ObjectId,ref:'LoginSession',required:true}, gameid:{type:Schema.Types.ObjectId,ref:'Games',required:true}, playdetails:{type:String,trim:true}, betamount:{type:Number,default:0}, winamount:{type:Number,default:0}, playtime:{type:Date,default:new Date()}, },{collection:'gameplaylogs'}); GameplaylogsModel = mongoose.model('GamePlayLogs',gameplaylogsSchema); module.exports={GameplaylogsModel};
FileName: database.js
var mongoose = require('mongoose'); var con; var conflag=false; var init=function initdb(){ mongoose.connect("mongodb://localhost/tutorialtous",callback); } var callback = function(err,data){ if(err) console.log(err); else{ console.log("connection success"); conflag=true; con = mongoose.connection; } } module.exports={con,init,conflag};