rails查询mongodb通用查询

本文介绍如何使用Ruby on Rails与MongoDB结合,并通过Mongoid gem实现数据操作。文中提供了查询示例,如按名称搜索所有相关记录。此外,还分享了如何利用will_paginate插件实现分页功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    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

 

转载于:https://www.cnblogs.com/wangkejun/p/5602604.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值