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

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

Overview

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

在命名空间下定义

模块: 类方法

实例方法摘要折叠

实例方法详细信息

# __add__ (对象) ⇒对象

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

例子:

将对象添加到数组中。

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

参数:

  • 对象 ( Object )

    要添加的对象。

返回:

  • ( Object )

    添加的结果。



17
18
19
# File 'lib/mongoid/criteria/queryable/extensions/ 大量.rb', line 17

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

#__array__Array

以大量形式返回该对象。

例子:

获取数组。

[ 1, 2 ].__array__

返回:



27
28
29
# File 'lib/mongoid/criteria/queryable/extensions/ 大量.rb', line 27

def __array__
  self
end

#__deep_copy__Array

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

例子:

获取大量的深层副本。

[ 1, 2, 3 ].__deep_copy__

返回:

  • ( Array )

    大量的深层副本。



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

def __deep_copy__
  map { || .__deep_copy__ }
end

#__evolve_date__Array<Time>

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

例子:

将大量演进为日期。

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

返回:

  • ( Array < Time > )

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



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

def __evolve_date__
  map { || .__evolve_date__ }
end

#__evolve_time__Array<Time>

将大量演进为 times大量。

例子:

将数组演进至 次。

[ 1231231231 ].__evolve_time__

返回:

  • ( Array < Time > )

    以 times 表示的大量。



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

def __evolve_time__
  map { || .__evolve_time__ }
end

# __expand_complex__数组

获取展开的对象。

例子:

展开对象。

obj.__expand_complex__

返回:

  • ( Array )

    展开后的大量。



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

def __expand_complex__
  map do ||
    .__expand_complex__
  end
end

# __intersect__ (对象) ⇒对象

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

例子:

与对象相交。

[ 1, 2 ].__intersect__(3)

参数:

  • 对象 ( Object )

    要相交的对象。

返回:

  • ( Object )

    交集的结果。



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

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

#__sort_option__Hash

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

例子:

获取大量作为排序选项。

[ :field, 1 ].__sort_option__

返回:

  • (哈希)

    作为排序条件的大量。



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

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

#__sort_pair__Hash

获取作为排序对的数组。

例子:

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

[ field, 1 ].__sort_pair__

返回:

  • (哈希)

    字段/方向对。



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

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