模块:Mongoid::Contextual::Aggregable::Mongo
- 包含在:
- mongo
- 定义于:
- lib/mongoid/contextual/aggregable/ Mongo.rb
Overview
包含在mongo中聚合值的行为。
实例方法摘要折叠
-
#aggregates (field) ⇒ 哈希
获取所提供字段的所有聚合值。
-
# avg (字段) ⇒ 浮点
获取所提供字段的平均值。
-
# max (字段 = nil) ⇒ Float |文档
获取所提供字段的最大值。
-
# min (字段 = nil) ⇒ Float |文档
获取所提供字段的最小值。
-
#sum (字段 = nil) ⇒ 浮点
获取所提供字段的总和值。
实例方法详细信息
#aggregates (字段) ⇒哈希
获取所提供字段的所有聚合值。
29 30 31 32 33 34 35 36 |
# File 'lib/mongoid/contextual/aggregable/ Mongo.rb', line 29 def 聚合(字段) 结果 = 集合.聚合(管道(字段), 会话: _session).to_a if 结果.空? 可聚合::EMPTY_RESULT.dup else 结果.first end end |
# avg (字段) ⇒浮点
获取所提供字段的平均值。
46 47 48 |
# File 'lib/mongoid/contextual/aggregable/ Mongo.rb', line 46 def avg(字段) 聚合(字段)[" avg "] end |
# max (字段 = nil) ⇒ Float |文档
获取所提供字段的最大值。 如果提供了区块,则根据 Ruby 的可枚举API ,返回具有该字段最大值的文档。
66 67 68 |
# File 'lib/mongoid/contextual/aggregable/ Mongo.rb', line 66 def Max(字段 = nil) block_given? ? 超() : 聚合(字段)[" max "] end |
# min (字段 = nil) ⇒ Float |文档
获取所提供字段的最小值。 如果提供了一个区块,则根据 Ruby 的可枚举 API,返回具有该字段的最小值的文档。
86 87 88 |
# File 'lib/mongoid/contextual/aggregable/ Mongo.rb', line 86 def min(字段 = nil) block_given? ? 超() : 聚合(字段)["min"] end |
#sum (字段 = nil) ⇒浮点
获取所提供字段的总和值。 如果提供了区块,则会根据 Ruby 的可枚举API返回总和。
103 104 105 106 107 |
# File 'lib/mongoid/contextual/aggregable/ Mongo.rb', line 103 def 总和(字段 = nil) return 超(字段 || 0) if block_given? 聚合(字段)[" sum "] || 0 end |