1

我必须通过 mongodb 驱动程序对 ruby​​ 中的 mongodb 集合进行排序。当我直接使用

db.zipper.find().sort({"value":-1})

但是当我在 ruby​​ 中做同样的事情时,集合没有得到排序。我正在使用

coll = db.collection('zipper')
coll.find().sort({"value":-1})

告诉我哪里出错了。我试过了

coll.find.sort(:value,:desc) 

但这也是徒劳的。告诉我哪里出错了。

4

2 回答 2

5

您需要将排序选项作为键值对数组传递,例如:

 coll.find({}, :sort => ['value',-1])

使用 Ruby 驱动程序,您还可以使用descdescending作为-1反向排序顺序的语义等价物:

 coll.find({}, :sort => ['value','desc'])
 coll.find({}, :sort => ['value','descending'])
于 2012-08-02T21:37:20.910 回答
0

使用较新的 Ruby 和 Mongo 驱动程序,您可以像这样使用哈希语法:

coll.find({}, sort: {value: -1})
于 2020-09-30T11:48:47.090 回答