我的网站允许用户发布待售商品。每个项目都有一个到期日期和时间,此时我计划将其标记为已过期并从视图中删除。现在,客户端有一个帮助函数来确定剩余时间,并在剩余时间达到0时将其标记为已过期。这个问题是该项目仍然出现在用户的视图中,直到他们重新加载页面为止。
我考虑过运行一个cron作业来标记过期的项目,但是担心这可能成本太高,因为它必须经常运行才能成为一种有效的方法。
有没有更有效的方法来处理这个问题?我希望在时间到期后让每个项目被动地从列表中删除。
答案 0 :(得分:0)
我在应用程序中有类似的要求。我最终使用remcoder:chronos包来使时间被动。这消除了对过期密钥以及任何皇冠工作的需要。我在 Collection.find()查询中使用了反应时间,该查询返回要显示的文档的光标。到期时,它们会自动消失。