模块: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 (字段) ⇒哈希
获取所提供字段的所有聚合值。
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/mongoid/contextual/aggregable/ Mongo.rb', line 27 def 聚合(字段) 结果 = 集合.聚合( 管道(字段), 会话: _session, hint: 查看.提示 ).to_a if 结果.空? 可聚合::EMPTY_RESULT.dup else 结果.first end end |
# avg (字段) ⇒浮点
获取所提供字段的平均值。
49 50 51 |
# File 'lib/mongoid/contextual/aggregable/ Mongo.rb', line 49 def avg(字段) 聚合(字段)['avg'] end |
# max (字段 = nil) ⇒ Float |文档
获取所提供字段的最大值。如果提供了区块,则根据 Ruby 的可枚举API ,返回具有该字段最大值的文档。
69 70 71 |
# File 'lib/mongoid/contextual/aggregable/ Mongo.rb', line 69 def Max(字段 = nil) block_given? ? 超() : 聚合(字段)['max'] end |
# min (字段 = nil) ⇒ Float |文档
获取所提供字段的最小值。如果提供了区块,则根据 Ruby 的可枚举API ,返回具有该字段的最小值的document。
89 90 91 |
# File 'lib/mongoid/contextual/aggregable/ Mongo.rb', line 89 def min(字段 = nil) block_given? ? 超() : 聚合(字段)['min'] end |
#sum (字段 = nil) ⇒浮点
获取所提供字段的总和值。如果提供了区块,则会根据 Ruby 的可枚举API返回总和。
106 107 108 109 110 |
# File 'lib/mongoid/contextual/aggregable/ Mongo.rb', line 106 def 总和(字段 = nil) return 超(字段 || 0) if block_given? 聚合(字段)['sum'] || 0 end |