我想要查询中的最新文档。下面我得到那些名字来自变量'personalFullName的文件,然后用一个名为'RecordID'的字段对它们进行排序(这个字段有更高的数字作为后面的日期条目),然后抓住最后一个。我想在此查询中输入最新的(具有最大RecordID编号的那个)条目:
Programs.find({ FullName: personalFullName }, { sort: { RecordID: 1 }, limit: 1}).fetch().pop();
我收到一个超出调用堆栈大小的错误。
答案 0 :(得分:1)
如果您习惯使用class Product < ActiveRecord::Base
def default_variant
self.variants.find_by_default_var(1)
end
end
<% @products.each do |product| %>
<ul>
<li><%= product.description %></li>
<li><%= product.default_variant.price %></li>
<li><%= image_tag(product.default_variant.image) %></li>
</ul>
<% end %>
包,那么您总是可以使用mongo聚合管道发布您想要的项目,可能是这样的(代码是coffeescript):
meteorhacks:aggregate
然后,您可以通过订阅Meteor.publish 'latestPrograms', (personalFullName)->
return unless personalFullName?
check personalFullName, String
pipeline = [
{$match:{'Fullname': personalFullName}}
{$sort: {'RecordID': 1}}
{$group:{'_id':{Fullname: '$Fullname'}, RecordID:{$last:'$RecordID'}}}
{$limit:1}
]
@added 'latestPrograms', Random.id(), item for item in programs.aggregate pipeline
@ready()
伪集合来获取数据。以下是使用铁路由器路由的示例:
latestPrograms