选择meteor中mongo collection中的最后一个文档

时间:2016-01-30 19:16:44

标签: mongodb meteor

我想要查询中的最新文档。下面我得到那些名字来自变量'personalFullName的文件,然后用一个名为'RecordID'的字段对它们进行排序(这个字段有更高的数字作为后面的日期条目),然后抓住最后一个。我想在此查询中输入最新的(具有最大RecordID编号的那个)条目:

Programs.find({ FullName: personalFullName }, { sort: { RecordID: 1 }, limit: 1}).fetch().pop();

我收到一个超出调用堆栈大小的错误。

1 个答案:

答案 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