這是我的MongoDB的架構:如何在Node.js中使用Mongoose從後端傳遞嵌套數組到前端?
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