【发布时间】:2019-11-01 03:39:46
【问题描述】:
如何限制通过 Mongoose 显示的结果?我只想显示我的结果数组的前 5 个对象,包含在 Carauction Schema 中:
router.get('/app/:cars_getroute', ensureAuthenticated, (req, res, next) => {
Promise.all([Car.findOne({ cars_getroute: req.params.cars_getroute }), Carauction.findOne({ cars_getroute: req.params.cars_getroute }), Carauctionstats.findOne({cars_getroute: req.params.cars_getroute})])
.then(result => {
const [cars, carauctions, carauctionstats] = result;
if (User.isCharged = true) {
res.render('app/fichecar', {
results: carauctions.results,
})...
我的架构:
const CarauctionSchema = new Schema({
objectID: {
type: Number
},
cars_getroute: {
type: String
},
gm_url: {
type: String
},
"results": {
type: [{
marque: {
type: String
},
model: {
type: String
}...}]
}
我想限制为 10 个结果对象。我试过 Carauction.find(carauctions.results).limit(10) 但它不起作用。
然后我用把手渲染结果项:
{{#each results as |auction|}}
<a target="_blank" rel="noopener noreferrer" href="{{auction.auction_url}}" class="results__box--hover">
<div class="results__container--box">
<div class="results__container--img">
<img src="{{auction.image_urls}}">
</div>
<div class="results__container--left">
<div class="results__container--model">
<span>{{auction.model_year}} {{auction.marque}} {{auction.model}}</span>
</div>
<div class="results__container--auction">
<span class="results__auction_house">{{auction.auction_house}}</span>
<span>{{auction.auction_country}}</span>
<span class="results__auction_date">{{auction.auction_date}}</span>
{{/each}}
【问题讨论】:
-
if(User.isCharged = true) {没有按照您的预期进行。您应该将其更改为:if(User.isCharged == true) {或if(User.isCharged) {