rails查询mongodb通用查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rails查询mongodb通用查询相关的知识,希望对你有一定的参考价值。

    ruby on rails 很好的跟mongodb进行了结合,gem包:

地址:https://rubygems.org/gems/mongoid

文档:https://docs.mongodb.com/ecosystem/tutorial/ruby-mongoid-tutorial/#ruby-mongoid-tutorial

最新还用的查询 

Model.where(name:/abc/)

 

这个可以查找model表中name字段有abc的所有内容。

分页,可以结合willpage

def self.paginate(options = {})
    options[:page] = options[:page].to_i
    options[:page] = 1 if options[:page] == 0
    options = base_options options
    ::WillPaginate::Collection.create(options[:page], options[:per_page]) do |pager|
      items_count = options[:total_entries] || self.count
      fill_pager_with self.skip(options[:offset]).limit(options[:per_page]), items_count, pager
    end
  end

  def self.base_options(options)
    options[:page] ||= 1
    options[:per_page] ||= 20
    options[:offset] = (options[:page].to_i - 1) * options[:per_page].to_i
    options
  end

  def self.fill_pager_with(medias, size, pager)
    pager.replace medias.to_a
    pager.total_entries = size
  end

 

以上是关于rails查询mongodb通用查询的主要内容,如果未能解决你的问题,请参考以下文章

尝试允许通用数组或值查询,如 rails 用于允许 where(a: [1]) 或 where(a: 1) 工作等等

mongodb 多表分页怎么查询

Rails 3 查询接口:使用关联模型

如何在 Rails 中清理 sql 片段

如何创建一个查询来查找 2 个数字之间的值,这些数字是 MongoDB 中的字符串类型

MongoDB对HABTM关系(Mongoid,RoR)的条件聚合查询?