Hej, du skal bare erklære skemamodel med dit dynamiske navn, sådan her:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
// our schema
function dynamicSchema(prefix){
var addressSchema = new Schema({
dir : {type : String, required : true}, //los 2 nombres delimitados por coma (,) ej. Alberto,Andres
city : {type : String, required: true}, //la misma estructura que para los nombres ej. Acosta, Arteta
postal : {type : Number, required : true},
_home_type : {type : Schema.Types.ObjectId, required : true, ref : prefix + '.home_type'},
state : {type : String, required : true},
telefono : String,
registered : {type : Date, default: Date.now }
});
return mongoose.model(prefix + '.address', addressSchema);
}
//no we export dynamicSchema function
module.exports = dynamicSchema;
så i din kode hvor som helst kan du gøre dette:
var userAdress = require('address.js')(id_user);
var usrAdrs1 = new userAddress({...});
userAdrs1.save();
Gå nu til dine mongo shell &list samlinger (brug mydb og vis derefter samlinger), du vil se en ny samling for adresse med uid præfiks. På denne måde vil mongoose oprette en ny indsamlingsadresse for hver forskellig bruger-uid.