orm2 中文文档 8. 聚合

简介: 译者:飞龙 来源:Aggregation如果你需要从一个模型中获取一些聚合值,你可以使用Model.aggregate()。

译者:飞龙

来源:Aggregation

如果你需要从一个模型中获取一些聚合值,你可以使用Model.aggregate()。下面通过一个例子来展示:

Person.aggregate({ surname: "Doe" }).min("age").max("age").get(function (err, min, max) {
    console.log("The youngest Doe guy has %d years, while the oldest is %d", min, max);
});

可以传递一个含有属性的Array来选择仅仅保留一小部分属性。方法也会接收一个Object来定义条件。

下面是一个展示如何使用.groupBy()的例子:

// 和 "select avg(weight), age from person where country='someCountry' group by age;" 相同
Person.aggregate(["age"], { country: "someCountry" }).avg("weight").groupBy("age").get(function (err, stats) {
    // stats 是一个数组,每个记录都有 'age''avg_weight' 属性
});

基本的 .aggregate() 方法

  • limit():你可以传递一个数值作为个数,或者两个数值分别作为偏移和个数
  • order():和Model.find().order()相同

额外的 .aggregate() 方法

  • min
  • max
  • avg
  • sum
  • count(它有一个快捷方式 - Model.count

有更多的聚合函数是依赖于驱动的(比如数学函数)。

相关文章
|
数据库 Python
Django(10)ORM聚合查询(二)
Django(10)ORM聚合查询(二)
103 0
Django(10)ORM聚合查询(二)
|
关系型数据库 MySQL API
Django(10)ORM聚合查询(一)
Django(10)ORM聚合查询(一)
96 0
Django(10)ORM聚合查询(一)
|
SQL 安全 Go
GoFrame ORM 使用实践分享
今天这篇把我使用GoFrame ORM的过程中认为有价值、可能踩坑、比较好的实践等相关的知识点分享出来。
291 0
|
前端开发
前端项目实战111-ant design table数据合并
前端项目实战111-ant design table数据合并
107 0
前端项目实战111-ant design table数据合并
|
移动开发 监控 .NET
ORM映射框架总结--日志处理
  在我们做项目的过程中,日志跟踪异常是非常必要的,当程序发布到服务器上时,如果出现异常直接抛出给用户这是非常不友好的。对于不懂程序的用户来说,这回让人感觉莫名其妙,对于那些程序高手,可能就是攻破这个网站的关键。
699 0
Git.Framework 框架随手记--ORM查询数据集合 一
  本文记录Git.Framework之ORM中最为浓墨重彩的一篇,查询集合。根据自己做的项目统计这个是使用频率最高的一个。     一. 查询集合方法简介 (1)List GetList(); (2)List GetList(bool isOpenTrans); (3)List Ge...
1233 0
|
SQL
Git.Framework 框架随手记--ORM查询数据集合 二
  一.  分组查询     在SQL中使用Group By 来对数据分组,在实际中分组中一般与聚合函数一并使用。在Git.Framework中提供了相应的分组方法 DataTable Group(T entity); DataTable Group(T entity, bool isOpenTrans); IEnumerable Group(T entity, Func keySelector);     对某张表进行分组查询需要使用Group方法, 在分组的时候必须指定分组的字段。
953 0
orm2 中文文档 4.3 extendsTo(一对一关系)
译者:飞龙 来源:extendsTo 你可能想把可选的属性分割到另一个表中。每个扩展都会是一个新的表,其中每一行的唯一标识符是主模型实例的id。
675 0
|
数据库 缓存 API
orm2 中文文档 3. 定义模型
译者:飞龙 来源:Defining Models 在[连接](1. Connecting to Database.md)之后,你可以使用连接对象(db)来定义你的模型。
815 0
|
JSON 关系型数据库 数据库
orm2 中文文档 3.1 模型属性
译者:飞龙 来源:Model Properties 模型和一些关联具有一个或多个属性,每个属性有类型以及一些可选设置,你可以自行选择它们(或使用默认设置)。
815 0