我正在尝试在网页上宣传内容。该内容应该是即将发布的内容,即所有相同类型的下一个内容(“事件”)。
以下是元数据的外观:
---
layout: event
date: 2013-12-11
title: Cool event
---
docpad.coffee文件集合配置如下(使用moment.js):
collections:
events: (database) ->
database.findAllLive(type: "event", [date: -1])
next_events: (database) ->
@getCollection("events")
.setFilter("upcoming", (event, searchString) ->
return moment(event.eventDate, "YYYY-MM-DD").diff(moment()) < 0
)
最后在index.html.eco中:
<% for event in @getCollection("next_events").toJSON(): %>
<h3><%= event.title %></h3>
<% end %>
问题:它显示了我的所有事件,而不仅仅是未来事件。当我使用events
集合时,它按预期工作(按日期desc排序的所有事件)。但是当我使用next_events
集合时没有区别。我知道只显示一个我需要使用<% for event in @getCollection("next_events").toJSON()[0]: %>
等内容来减少收藏内容。
非常感谢任何指针。
答案 0 :(得分:2)
试试这个:
next_events: (database) ->
@getCollection("events")
.createLiveChildCollection()
.setFilter("upcoming", (event, searchString) ->
return moment(event.eventDate, "YYYY-MM-DD").diff(moment()) < 0
)
.query()