Это моя MongoDB схема:Как передать вложенные массивы из бэкэнда в интерфейс с использованием Mongoose в Node.js?
var partnerSchema = new mongoose.Schema({
name: String,
products: [
{
type: mongoose.Schema.Types.ObjectId,
ref: 'Product'
}]
});
var productSchema = new mongoose.Schema({
name: String,
campaign: [
{
type: mongoose.Schema.Types.ObjectId,
ref: 'Campaign'
}
]
});
var campaignSchema = new mongoose.Schema({
name: String,
});
module.exports = {
Partner: mongoose.model('Partner', partnerSchema),
Product: mongoose.model('Product', productSchema),
Campaign: mongoose.model('Campaign', campaignSchema)
}
И я хотел бы, чтобы отправить все документы (partner
>product
>campaign
) на мой взгляд, как один объект.
Я знаю, как отправить partner
с product
ref. Например:
var campSchema = require('../model/camp-schema');
router.get('/partner-list', function (req, res) {
campSchema.Partner.find({}, function (err, partnerList) {
if (err) throw err;
res.json({ partnerList: partnerList });
}).populate('products');
});
И я могу легко итерацию по мнению таким образом:
li(ng-repeat="product in partner.products")
a(href="#") {{ product.name }}
И вот вопрос. Как передать один объект в качестве документа с partner
, product
и campaign
. Потому что на данный момент у меня есть только partner
и product
.
Попробуйте это: '.populate («продукты»,«products.campaign»)' (вероятно, не будут работать, но стоит попробовать Я думаю, что – libik