模块:Mongoid::Criteria::Queryable::Extensions::Range

定义于:
lib/mongoid/criteria/queryable/extensions/ 范围.rb

Overview

将查询类型转换行为添加到 Range 类。

在命名空间下定义

模块: 类方法

实例方法摘要折叠

实例方法详细信息

#__array__Array

获取数组形式的范围。

例子:

获取数组形式的范围。

1...3.__array__

返回:

  • ( Array )

    数组形式的范围。



18
19
20
# File 'lib/mongoid/criteria/queryable/extensions/ 范围.rb', line 18

def __array__
  to_a
end

#__evolve_date__Hash

将范围转换为适合 $gte/$lte mongo的日期查询。

例子:

扩展范围。

(11231312..213123131).__evolve_date__

返回:

  • (哈希)

    时间为 UTC 午夜的 $gte/$lte 范围查询。



28
29
30
# File 'lib/mongoid/criteria/queryable/extensions/ 范围.rb', line 28

def __evolve_date__
  __evolve_range_naive__.transform_values! {|v| v&。__evolve_date__ }
end

# __evolve_range__ (serializer: nil) ⇒哈希

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

将范围转换为 $gte/$lte mongo友好查询。

例子:

扩展范围。

(11231312..213123131).__evolve_range__

参数:

  • 序列化器 对象 (默认为: nil

    字段的可选序列化器。

返回:

  • (哈希)

    $gte/$lte范围查询。



52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/mongoid/criteria/queryable/extensions/ 范围.rb', line 52

def __evolve_range__(序列化器: nil)
  __evolve_range_naive__.transform_values! do ||
    if 序列化器
      序列化器.发展()
    else
      案例 
      when 时间, 日期时间 then .__evolve_time__
      when Date then .__evolve_date__
      else 
      end
    end
  end
end

#__evolve_time__Hash

将范围转换为适合 $gte/$lte mongo查询的时间。

例子:

扩展范围。

(11231312..213123131).__evolve_date__

返回:

  • (哈希)

    $gte/$lte 范围查询,时间为 UTC。



38
39
40
# File 'lib/mongoid/criteria/queryable/extensions/ 范围.rb', line 38

def __evolve_time__
  __evolve_range_naive__.transform_values! {|v| v&。__evolve_time__ }
end