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}});