Ciao, devi solo dichiarare il modello dello schema con il tuo nome dinamicamente, in questo modo:
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;
quindi nel tuo codice ovunque puoi farlo:
var userAdress = require('address.js')(id_user);
var usrAdrs1 = new userAddress({...});
userAdrs1.save();
Ora vai alle tue raccolte mongo shell &list (usa mydb quindi mostra le raccolte), vedrai una nuova raccolta per l'indirizzo con il prefisso uid. In questo modo mongoose creerà un nuovo indirizzo di raccolta per ogni diverso utente uid.