我有一个购物网站我希望能够在视图中显示两个模型名称“牛仔裤”和“衬衫” 我需要从两个模型传递数据,我知道如何从一个控制器中的两个模型访问数据,但我不知道如何从该控制器发送数据
控制器:
var mongoose = require('mongoose'),
errorHandler = require('./errors.server.controller'),
Shirt = mongoose.model('Shirt'),
Jeans = mongoose.model('Jeans');
exports.list = function(req, res) {
Jeans.find().sort('-created').populate('user', 'displayName').exec(function(err, jeans) {
Ajean = jeans;
});
Shirt.find().sort('-created').populate('user', 'displayName').exec(function(err, shirts) {
Ashirt = shirts;
});
Shirt.find().sort('-created').populate('user', 'displayName').exec(function(all) {
// res.jsonp(Ashirt);
// res.jsonp(Ajean);
});
};
查看:
<div class="list-group">
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Name</th>
<th>Color</th>
</tr>
</thead>
<tbody>
<tr data-ng-repeat="item in items">
<td data-ng-bind="item.name"></td>
<td data-ng-bind="item.color"></td>
</tr>
</tbody>
</table>
</div>
我知道我不能使用“res.jsonp();”不止一次 。 当我使用“Ajean”时,它会给我“牛仔裤”的数据 当我使用“Ashirt”时,它会给我“衬衫”型号的数据 但我希望能够显示“衬衫”模型和“牛仔裤”模型的数据
谢谢!
答案 0 :(得分:2)
您可以尝试嵌套查询,然后将生成的数组与Array.concat合并:
Jeans.find().sort('-created').populate('user', 'displayName').exec(function(err, jeans) {
Shirt.find().sort('-created').populate('user', 'displayName').exec(function(err, shirts) {
var all = shirts.concat(jeans);
res.jsonp(all);
});
});