Javascript Meteor:查找具有最高值的文档

Javascript Meteor:查找具有最高值的文档,javascript,meteor,Javascript,Meteor,我只想在集合中找到一个特定属性值最高的文档 假设文档具有以下结构 { _id: 'jswehfkwefkjw', price: 10, .... } 如何选择价格最高的文档 我找到了这个 transactions.find("id" => x).sort({"sellprice" => -1}).limit(1).first(); 但我无法将其转化为流星:(我现在拥有的看起来像这样 Articles.find({}, {sort: {price: -1}}).fetc

我只想在集合中找到一个特定属性值最高的文档

假设文档具有以下结构

{
  _id: 'jswehfkwefkjw',
  price: 10,
  ....
}
如何选择价格最高的文档

我找到了这个

transactions.find("id" => x).sort({"sellprice" => -1}).limit(1).first();
但我无法将其转化为流星:(我现在拥有的看起来像这样

Articles.find({}, {sort: {price: -1}}).fetch();

但这不行。有什么建议吗?

我不太清楚你在“这不行”中的意思

但我建议使用findOne而不是fetch,因为fetch返回一个数组,您需要一个文档

Articles.findOne({}, {sort: {price: -1}});


然后使用获取并使用数组符号[0]或下划线551; first(array)

获取第一个元素,就像在mongo版本中一样,如果要对返回的对象进行排序和限制,则需要同时提供排序和限制选项。这两个选项都在中介绍

如果要返回一个光标,其中包含一个具有最高价格的项目,则应使用以下方法:

Articles.find({},{limit: 1, sort: {price: -1}});  

如果需要对象本身,则添加fetch()或使用findOne()。如果使用findOne(),则limit选项是多余的。

Ok,但我如何在服务器端执行此操作,因为在发布函数中使用
findOne
会引发错误@user728291提到您将使用limit选项Articles。find({},{limit limit:1,sort:{price:-1}});在客户端,您可以使用fetch,然后使用[0]访问数组样式中的第一个元素,或者使用下划线u0.first(数组)
Articles.find({},{limit: 1, sort: {price: -1}});