如何限制显示的对象数量?
Posted
技术标签:
【中文标题】如何限制显示的对象数量?【英文标题】:How to limit the numbers of objects displayed? 【发布时间】: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)
【参考方案1】:
您可以使用carauctions.results.slice(0,10)
限制结果。这将输出最多 10 个项目,但如果少了也不会造成问题。
【讨论】:
谢谢!它不起作用(500 错误),因为我忘了说我用把手显示在 html 中的每个结果。我不确定这是不是原因,但我编辑了我的问题。 能否提供 HTTP 500 的控制台输出? 好的,你的解决方案对我的主要问题有好处,但你对 isCharge = true 的精确度不是。这是错误。非常感谢!isCharge = true
是一个作业。它将值更改为 true
,而不是与 true
进行比较。以上是关于如何限制显示的对象数量?的主要内容,如果未能解决你的问题,请参考以下文章
如何限制 NSFetchedResultsController 中的对象数量?