ruby-on-rails - Rails,对 mongoid 子项进行排序

标签 ruby-on-rails ruby-on-rails-3 mongodb sql-order-by mongoid

我在使用 mongoid 进行排序时遇到问题。我正在使用 voteable_mongo 收集给定对象的投票,现在我想根据这些进行排序,但我没有任何运气:

它在模型上提供了一个类似这样的字段,并有一个名为 votes_point 的方法:

{"count"=>1, "down"=>[BSON::ObjectId('4f450fd725ae0b7538000002')], "down_count"=>1, "point"=>-1, "up"=>[], "up_count"=>0} 

代码:

@word.definitions.order_by([:votes_point]).each do |definition|

@word.definitions.order_by([:votes["point"],:desc]).each do |definition|

上述声明并没有根据投票对它们进行任何不同的排序。它的输出与 @word.definitions

完全相同

我猜这与我试图通过另一个模型的 child 订购这一事实有关?我必须更直接地查询它还是我遗漏了一些东西?

最佳答案

你可以尝试:

@word.definitions.order_by('votes.point')

@word.definitions.order_by([['votes.point', :desc]])

关于ruby-on-rails - Rails,对 mongoid 子项进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9484326/

相关文章:

ruby-on-rails - 无法找到已弃用的 RAILS_ROOT 的使用位置

ruby-on-rails - 部署到heroku时 Controller 中的未初始化常量错误

java - 如何使用 morphia 将对象列表插入 mongodb?

node.js - 设置 mongojs 集合的写入关注

ruby-on-rails - 如何避免从我的模型中意外发送敏感字段?

jquery - 从对话框窗口成功提交表单后,如何更新前端内容?

ruby-on-rails - 我怎样才能干燥我的 Controller Action ?

ruby-on-rails - 如何在数据库中反射(reflect) Ruby on Rails 中新的 belongs_to 和 has_many 关系

javascript - Mongoose 不保存新文档

ruby-on-rails - rails_admin编辑belongs_to排序