Xin chào, bạn chỉ cần khai báo mô hình lược đồ với tên riêng của mình, như sau:
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;
vì vậy trong mã của bạn ở bất kỳ đâu, bạn có thể thực hiện việc này:
var userAdress = require('address.js')(id_user);
var usrAdrs1 = new userAddress({...});
userAdrs1.save();
Bây giờ, hãy truy cập bộ sưu tập shell &list mongo của bạn (sử dụng mydb sau đó hiển thị các bộ sưu tập), bạn sẽ thấy một bộ sưu tập mới cho địa chỉ có tiền tố uid. Bằng cách này, mongoose sẽ tạo một địa chỉ bộ sưu tập mới cho từng uid người dùng khác nhau.