Как получить данные из запроса, который включает 2 коллекции: клиенты и адреса
Мне нужно получить всех клиентов со всеми адресами для всех из них, запрашивая коллекцию клиентов.
Использование мангуста это 2 схемы:
адресаклиентов:
var Customer = require('./customer');
var Schema = mongoose.Schema;
var addressSchema = Schema({
address: {
type: String,
required: false,
unique: false
},
customer: {
type: Schema.Types.ObjectId,
ref: 'Customer'
}
}, {
timestamps: true
});
module.exports = mongoose.model('Addresscustomer', addressSchema, 'addressescustomers');
клиенты:
var Addresscustomer = require ('./addresscustomer');
var Schema = mongoose.Schema;
var customerSchema = Schema({
name: {
type: String,
required: false,
unique: false
},
address: {
type: Array,
ref: 'Addresscustomer'
}
}, {
timestamps: true
});
module.exports = mongoose.model('Customer', customerSchema, 'customers');
Мне нужно выполнить запрос к клиентам, что я делаю:
Customer.find({}, function (err, customers) {
Addresscustomer.populate(customers, { path: "address" }, function (err, customers) {
console.log('Customers: '+ customers);
});
});
Or:
var query = Customer.find({}).populate('address');
query.exec(function (err, customers) {
console.log('Customers: '+ customers);
});
Но ключ address в коллекции клиентов не заполнен. Подскажите, как правильно настроить схемы и запрос, чтобы получить правильные данные?