模块:Mongoid::Criteria::Queryable::Extensions::Array

定义于:
lib/mongoid/criteria/queryable/extensions/ 大量.rb

Overview

向 Array 类添加查询类型转换行为。

在命名空间下定义

模块: 类方法

实例方法摘要折叠

实例方法详细信息

# __add__ (对象) ⇒对象

使用添加策略合并两个对象。

例子:

将对象添加到数组中。

[ 1, 2, 3 ].__add__(4)

参数:

  • 对象 ( Object )

    要添加的对象。

返回:

  • ( Object )

    添加的结果。



20
21
22
# File 'lib/mongoid/criteria/queryable/extensions/ 大量.rb', line 20

def __add__(对象)
  对象.__add_from_array__(self)
end

#__array__Array

以大量形式返回该对象。

例子:

获取数组。

[ 1, 2 ].__array__

返回:



30
# File 'lib/mongoid/criteria/queryable/extensions/ 大量.rb', line 30

def __array__ self end

#__deep_copy__Array

制作大量大量的每个元素。

例子:

获取大量的深层副本。

[ 1, 2, 3 ].__deep_copy__

返回:

  • ( Array )

    大量的深层副本。



39
40
41
# File 'lib/mongoid/criteria/queryable/extensions/ 大量.rb', line 39

def __deep_copy__
  map { || .__deep_copy__ }
end

#__evolve_date__Array<Time>

将大量演进为mongo友好日期大量。 (午夜时间)。

例子:

将大量演进为日期。

[ Date.new(2010, 1, 1) ].__evolve_date__

返回:

  • ( Array < Time > )

    以 UTC 午夜时间表示的大量。



50
51
52
# File 'lib/mongoid/criteria/queryable/extensions/ 大量.rb', line 50

def __evolve_date__
  map { || .__evolve_date__ }
end

#__evolve_time__Array<Time>

将大量演进为 times大量。

例子:

将数组演进至 次。

[ 1231231231 ].__evolve_time__

返回:

  • ( Array < Time > )

    以 times 表示的大量。



72
73
74
# File 'lib/mongoid/criteria/queryable/extensions/ 大量.rb', line 72

def __evolve_time__
  map { || .__evolve_time__ }
end

# __expand_complex__数组

获取展开的对象。

例子:

展开对象。

obj.__expand_complex__

返回:

  • ( Array )

    展开后的大量。



60
61
62
63
64
# File 'lib/mongoid/criteria/queryable/extensions/ 大量.rb', line 60

def __expand_complex__
  map do ||
    .__expand_complex__
  end
end

# __intersect__ (对象) ⇒对象

使用相交策略组合两个对象。

例子:

与对象相交。

[ 1, 2 ].__intersect__(3)

参数:

  • 对象 ( Object )

    要相交的对象。

返回:

  • ( Object )

    交集的结果。



84
85
86
# File 'lib/mongoid/criteria/queryable/extensions/ 大量.rb', line 84

def __intersect__(对象)
  对象.__intersect_from_array__(self)
end

#__sort_option__Hash

以正确格式获取大量作为选项,以作为MongoDB排序条件传递。

例子:

获取大量作为排序选项。

[ :field, 1 ].__sort_option__

返回:

  • (哈希)

    作为排序条件的大量。



95
96
97
98
99
100
# File 'lib/mongoid/criteria/queryable/extensions/ 大量.rb', line 95

def __sort_option__
  .注入({}) do |选项, 条件|
    选项.合并!(条件.__sort_pair__)
    选项
  end
end

#__sort_pair__Hash

获取作为排序对的数组。

例子:

以字段/方向对的形式获取大量。

[ field, 1 ].__sort_pair__

返回:

  • (哈希)

    字段/方向对。



108
109
110
# File 'lib/mongoid/criteria/queryable/extensions/ 大量.rb', line 108

def __sort_pair__
  { first => Mongoid::条件::转换器.to_direction(last) }
end