模块:Mongoid::Criteria::Queryable

包括:
聚合可扩展、可合并可选可存储可选
包含在:
Mongoid::Criteria
定义于:
lib/mongoid/criteria/queryable.rb ,
lib/mongoid/criteria/queryable/key.rb,
lib/mongoid/criteria/queryable/smash.rb,
lib/mongoid/criteria/queryable/options.rb,
lib/mongoid/criteria/queryable/Optional.rb,
lib/mongoid/criteria/queryable/ 管道.rb,
lib/mongoid/criteria/queryable/selector.rb,
lib/mongoid/criteria/queryable/storable.rb,
lib/mongoid/criteria/queryable/macroable.rb,
lib/mongoid/criteria/queryable/mergeable.rb,
lib/mongoid/criteria/queryable/aggregable.rb,
lib/mongoid/criteria/queryable/expandable.rb,
lib/mongoid/criteria/queryable/selectable.rb,
lib/mongoid/criteria/queryable/extensions/ 设立.rb,
lib/mongoid/criteria/queryable/extensions/date.rb,
lib/mongoid/criteria/queryable/extensions/hash.rb,
lib/mongoid/criteria/queryable/extensions/time.rb,
lib/mongoid/criteria/queryable/extensions/ 大量.rb,
lib/mongoid/criteria/queryable/extensions/ 范围.rb,
lib/mongoid/criteria/queryable/extensions/ 对象.rb,
lib/mongoid/criteria/queryable/extensions/regexp.rb,
lib/mongoid/criteria/queryable/extensions/string.rb,
lib/mongoid/criteria/queryable/extensions/symbol.rb,
lib/mongoid/criteria/queryable/extensions/boolean.rb,
lib/mongoid/criteria/queryable/extensions/numeric.rb,
lib/mongoid/criteria/queryable/extensions/date_time.rb,
lib/mongoid/criteria/queryable/extensions/nil_class.rb,
lib/mongoid/criteria/queryable/extensions/big_decimal.rb,
lib/mongoid/criteria/queryable/extensions/time_with_zone.rb

Overview

Queryable 是需要注入 Queryable 的 dsl 以构建MongoDB查询的任何对象。 示例,Mongoid::Criteria 是一个 Queryable。

例子:

包括可查询功能。

class Criteria
  include Queryable
end

在命名空间下定义

模块: Aggregable , Expandable , Extensions , Macroable , Mergeable , Optional , Selectable , Storable类: Key , Options , Pipeline , Selector , Smash

实例属性摘要折叠

包含在可选属性中的属性

#options , #options查询选项。

Aggregable 中包含的属性

#aggregating , #aggregating 标志我们是否正在聚合。 , # 管道 , # 管道聚合管道。

Mergeable中包含的属性

#strategy , #strategy 当前策略的名称。

实例方法摘要折叠

可选方法

#ascending#batch_size#collation#comment#cursor_type#descendingforwardables#hint#limit#max_scan#max_time_ms#no_timeout#only#order_by#reorder#skip#slice# 快照 , # without

Macroable包含的方法

#key

Selectable中包含的方法

#atomic_selector

Aggregable包含的方法

#aggregating?#group#project#unwind

Mergeable中包含的方法

#and_with_operator#intersect#override#reset_strategies! , #union

可存储中包含的方法

#add_field_expression#add_logic_operator_expression#add_one_expression#add_operator_expression

实例属性详细信息

#别名对象(只读)

返回属性别名的值。



37
38
39
# File 'lib/mongoid/criteria/queryable.rb', line 37

def 别名
  @aliases
end

# aliases 别名。 (别名。) ⇒对象(只读)



37
# File 'lib/mongoid/criteria/queryable.rb', line 37

attr_reader :aliases

#序列化器 ⇒对象(只读)

返回属性序列化器的值。



40
41
42
# File 'lib/mongoid/criteria/queryable.rb', line 40

def 序列化器
  @serializers
end

#序列化器 序列化器。 (序列化器。) ⇒对象(只读)



40
# File 'lib/mongoid/criteria/queryable.rb', line 40

attr_reader :serializers

实例方法详细信息

# == (other) ⇒ true | false

此 Queryable 是否等于另一个对象? 如果选择器和选项相等,则为 true。

例子:

对象相等吗?

queryable == criteria

参数:

  • 其他 ( Object )

    要比较的对象。

返回:

  • ( true | false )

    如果对象相等。



51
52
53
54
# File 'lib/mongoid/criteria/queryable.rb', line 51

def ==(其他)
  return false 除非 其他.is_a?(可查询)
  选择器 == 其他.选择器 && 选项 == 其他.选项
end

#初始化(别名= {},序列化器= {},关联= {},aliased_associations = {}){|_self| ... } ⇒对象

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

初始化新的 Queryable。 如果为需要额外行为的对象提供了区块,则将使自身屈服于该区块。

例子:

初始化 Queryable。

Queryable.new

参数:

  • 别名 哈希 (默认为: {}

    可选字段别名。

  • 序列化器 哈希 (默认为: {}

    可选字段序列化器。

  • 关联 哈希 (默认为: {}

    可选关联。

  • aliased_associations 哈希 (默认为: {}

    可选的别名关联。

  • 驱动 (符号)

    正在使用的驾驶员。

产量:

  • ( _self )

收益参数:



69
70
71
72
73
74
75
76
# File 'lib/mongoid/criteria/queryable.rb', line 69

def 初始化(别名 = {}, 序列化器 = {}, 关联 = {}, aliased_associations = {})
  @aliases, @serializers = 别名, 序列化器
  @options = 选项.new(别名, 序列化器, 关联, aliased_associations)
  @selector = 选择器.new(别名, 序列化器, 关联, aliased_associations)
  管道 = 管道.new(别名)
  @aggregating = nil
  产量(self) if block_given?
end

#initialize_copy (other) ⇒对象

通过 #clone 或 #dup 创建副本。

例子:

处理副本初始化。

queryable.initialize_copy(criteria)

参数:



84
85
86
87
88
# File 'lib/mongoid/criteria/queryable.rb', line 84

def initialize_copy(其他)
  @options = 其他.选项.__deep_copy__
  @selector = 其他.选择器.__deep_copy__
  管道 = 其他.管道.__deep_copy__
end