【问题标题】:MongoDb sort in RubyRuby 中的 MongoDb 排序
【发布时间】:2012-08-02 19:13:39
【问题描述】:

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

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

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

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

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

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

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

【问题讨论】:

    标签: ruby-on-rails ruby mongodb


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 在我将数组更改为对象后它适用于我::sort => {'value' => -1})
    【解决方案2】:

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

    coll.find({}, sort: {value: -1})
    

    【讨论】:

      猜你喜欢
      • 2012-04-03
      • 2012-10-24
      • 2013-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多