ЕСЛИ ВЫ ИСПОЛЬЗУЕТЕ МНОЖЕСТВЕННЫЕ СОЕДИНЕНИЯ mongoDB
помните, что при использовании .populate () вы ДОЛЖНЫ предоставить модель, так как мангуста будут только «находить» модели в одном и том же соединении. т.е. где:
var db1 = mongoose.createConnection('mongodb://localhost:27017/gh3639');
var db2 = mongoose.createConnection('mongodb://localhost:27017/gh3639_2');
var userSchema = mongoose.Schema({
"name": String,
"email": String
});
var customerSchema = mongoose.Schema({
"name" : { type: String },
"email" : [ String ],
"created_by" : { type: mongoose.Schema.Types.ObjectId, ref: 'users' },
});
var User = db1.model('users', userSchema);
var Customer = db2.model('customers', customerSchema);
Правильно:
Customer.findOne({}).populate('created_by', 'name email', User)
или
Customer.findOne({}).populate({ path: 'created_by', model: User })
Неверно (выдает ошибку «схема не зарегистрирована для модели» ):
Customer.findOne({}).populate('created_by');