首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

act-morphia 1.7.2 带来不一样的数据聚合体验

API 简介 Act-Morphia 依托与 Morphia 库 实现了 Act-DB 框架. 下面是 Act-Morphia 的简单介绍....过滤聚合数据, 要求必须小于给定参考值 between(minInclusive, maxExclusive) - 过滤聚合数据, 要求必须大于或等于第一个参数, 小于第二个参数 sorted() - 将聚合数据按数值大小升序排列...sorted(true) - 将聚合数据按数值大小降序排列 get() - 返回一个 AggregationResult 的对象, 数值类型为 Double getAsInt() -...因为 MongoDB 返回的聚合结果是一个 Cursor(游标), 通过 Cursor 取回的数据是一个 DBObject 的列表, 并不是非常方便应用使用....* * 注意, 我们这次不能直接在查询中构造过滤条件, 而是使用 SimpleAggregation 的 lessThan 方法, * 这是因为查询条件是过滤数据库原始数据的, 而该方法需要过滤汇总后的数据

1.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    芋道 Spring Boot MongoDB 入门

    在早期,在项目中 MongoDB 的 ORM 框架使用 Morphia 较多。...目前,艿艿手头所有的项目,都从 Morphia 该用 Spring Data MongoDB 。...Example API 一共包含三部分: Probe :含有对应字段的实体对象。通过设置该实体对象的字段,作为查询字段。 注意,Probe 并不是一个类,而是实体对象的泛指。...ExampleMatcher :ExampleMatcher 可以定义特定字段的匹配模式。例如说,全模糊匹配、前缀模糊匹配等等。 简单来说,通过实体对象的字段作为查询条件,只能满足相等的情况,对于 !...而绝大多数业务场景下,Int 或 Long 足够使用,所以我们更加偏向使用 Int 或 Long 作为自增 ID 主键。 当然,我们在日志记录上,我们还是采用 ObjectId 为主。

    2.6K10

    tf.sparse

    返回值:一个int64的二维张量,具有dense_shape [N, ndims],其中N是张量中非零值的个数,ndims是秩。op将值作为输出产生的操作。shape得到表示稠密张量形状的张量形状。...3、__div____div__( sp_x, y)分量方向上把稀疏张量除以稠密张量。限制:此Op只向稀疏端广播稠密端,而不向相反方向广播。参数:sp_indices: int64型张量。...4、__mul____mul__( sp_x, y)分量方向上,稀疏张量乘以稠密张量。...参数:sp_indices: int64型张量。二维。N x R矩阵,在稀疏张量中有非空值的指标,可能不是正则有序的。sp_values:张量。...expand_dims(...): 将维数1插入张量的形状中。eye(...): 创建一个沿着对角线的二维稀疏张量。fill_empty_rows(...): 用默认值填充输入二维稀疏张量中的空行。

    1.9K20

    Python报表自动化

    1.案例场景 作为企业的数据统计岗,每天都需要做很多报表,日报、周报、季报、月报。...如果我们能利用Python的数据分析功能把这些常规的流程标准化的报表自动化,那么我们将能有更多的时间集中于数据背后的业务发展及逻辑的分析上,这样才能被称为是企业的数据分析师,而不是简单的数据搬运工。...2.Excel制作过程 结合以上两张图,我们知道利用Excel的数据透视表功能就制作该报表:选中数据表中任意一个单元格,点击插入数据透视表,然后按以下步骤执行: 将合同生效日字段放在页区域(筛选今年)...将单位字段放在透视表的行区域。 ? 当处理到单位字段时我们会发现,表中每一笔贷款都有三家网点进行业绩分成。我们需要将分成比例也考虑进去。所以透视表中的行区域及值区域不能简单的放入单位1和贷款金额。...将各分表的单位字段统一命名为单位,分成比例字段统一命名为分成比例。

    4.1K41

    golang-xorm库快速学习

    ,这个检测是根据字段名,同时对表中多余的字段给出警告信息 自动检测,创建和删除索引和唯一索引,这个检测是根据索引的一个或多个字段名,而不根据索引名称。...= x.Update(a) 注意,Update接受的参数是指针 批量获取信息 err = x.Desc("balance").Find(&as) 在这里,我们还调用了 Desc 方法对记录按照存款数额将账户从大到小排序...要注意的是,Cols 方法所接受的参数是数据表中对应的名称,而不是字段名称。...要注意的是,Omit 方法所接受的参数是数据表中对应的名称,而不是字段名称。...全部内容查看文章首部官方文档 它们的作用分别会在 进行插入记录之前 和 完成插入记录之后 被调用: func (a *Account) BeforeInsert() { log.Printf("

    2.7K80

    Go Mongox:轻松实现 MongoDB 时间字段自动填充

    前言在 MongoDB 的集合中,时间字段(如 创建时间 和 更新时间)通常是必不可少的。在使用 Go 语言操作 MongoDB 时,例如执行插入或更新操作,我们需要手动设置这些时间字段的值。...目前,官方的 mongo-go-driver 并不支持自动填充时间字段,而 mongox 库提供了这一能力。...本文将介绍如何使用 mongox 库,在插入和更新数据时自动填充时间字段,从而提升开发效率并减少重复代码。...当为 int/int64 时,将会填充当前时间戳秒数。字段包含特定标签mongox:"autoCreateTime":在插入文档时,如果该字段的值为零值,则会自动设置为当前时间。...mongox:"autoUpdateTime":在插入文档时,如果该字段的值为零值或更新文档时,会自动设置为当前时间。

    3491110

    行人检测集成票务系统读取票务系统数据库为空,如何解决?

    前段时间我们已经将TSINGSEE青犀视频开发的行人检测功能集成到景区的系统里进行测试,同时我们也将景区现有的票务系统与行人检测功能相结合,实现了景区人、证、票的统一。...string Action int64 //入园数 Tid int64//门票id Tnum int64//入园数量, 对接是此字段 LeftNum int64 Source int64...Parkid string //1140:上站;1141下站 Peoplecount int64//人数 InparkSystemdate string //插入时间 } 以上两个数据是读景区数据库的结构...image.png 以下是读一整天的票务数据库(部分代码): image.png 首先我们想到是上面的结构体中和数据库的是不是结构的数量一致,于是进数据库检查,果然发现第二个结构体和数据库结构不一致,少了几个数据...入园数量, 对接是此字段 LeftNum int64 `gorm:"column:left_num"` Source int64 `gorm:"column:source"` Terminal int64

    53540

    数据库模型设计——主键的设计

    有了这两个要求,我们再来分析下各个数据类型: 数字类型:根据数据量决定是用Int16还是Int32或者Int64,能用Int32的就不需要使用Int64。...在插入新数据时,GUID一般都是使用NewId()这样的生成随机GUID的方式生成的,所以也不是顺序增长的,在插入速度上不会很快。...一种方案是再新建一个独立的字段作为主键,该字段并没有业务含义,只是一个自增列或者流水号,用于唯一标识每一行数据,这是数据库主键。另外一种方案是选择其中较短较常用的属性作为主键,这是业务主键。...个人建议是不要使用任何有业务含义的字段作主键,而是使用一个自增的(或者系统生成的)没有实际业务意义的字段作为主键。为什么呢?...主键是只能由一个,而唯一约束(索引)在一个表中可以有多个。 主键不能为空,而唯一约束(索引)是可以为空的。

    1.1K30

    Go(五)不知道怎么用Gorm?

    定义一个结构体User,除开记录的字段,有编号、姓名、密码三个字段 type User struct { Id int64 `gorm:"primaryKey;column:id;"` Username...Save(user *User) { db := config.GetDb() db.Model(&user).Save(&user) return} Create和Save的区别:Save需要插入的数据存在则不进行插入...,直接删除,加了将更新deleted字段,即实现软删除 根据id进行删除 // DeleteById UPDATE `user` SET `deleted`='2021-09-26 14:29:55.15...() err := db.Transaction(func(tx *gorm.DB) error { // 在事务中执行一些 db 操作(从这里开始,您应该使用 'tx' 而不是 'db') if...= nil { tx.Rollback() } }() // 在事务中执行一些 db 操作(从这里开始,您应该使用 'tx' 而不是 'db') if err := tx.Create(&User

    2.1K11

    深入浅出 ClickHouse 物化视图

    if (inner_table_columns.hasPhysical(column.name)) // 注意,是通过列名匹配的,而不是位置,这在使用物化视图时很容易犯错...InterpreterInsertQuery interpreter(nullptr, insert_context, false, false, false); // 将物化视图的插入逻辑也作为...storage->write(query_ptr, metadata_snapshot, context); // 注意,第一个参数是传入的 query_ptr,也就是说物化视图的数据同样直接来自于查询,而不是依赖表...物化视图通过列名插入数据而不是位置 CREATE MATERIALIZED VIEW mv ( a Int64, d Date, cnt Int64 ) ENGINE =...不同 shard 之间不用考虑,因为数据不相同,这里只考虑同一个 shard 不同 replica 的情况: 需要注意,插入只会发生在一个节点,所以作为插入触发器的物化视图也只会在插入发生的节点被触发,

    45510

    ​深入浅出 ClickHouse 物化视图

    if (inner_table_columns.hasPhysical(column.name)) // 注意,是通过列名匹配的,而不是位置,这在使用物化视图时很容易犯错...InterpreterInsertQuery interpreter(nullptr, insert_context, false, false, false); // 将物化视图的插入逻辑也作为...storage->write(query_ptr, metadata_snapshot, context); // 注意,第一个参数是传入的 query_ptr,也就是说物化视图的数据同样直接来自于查询,而不是依赖表...ERROR] 物化视图使用列名插入数据 物化视图通过列名插入数据而不是位置 CREATE MATERIALIZED VIEW mv ( a Int64, d Date, cnt Int64 ) ENGINE...不同 shard 之间不用考虑,因为数据不相同,这里只考虑同一个 shard 不同 replica 的情况: 需要注意,插入只会发生在一个节点,所以作为插入触发器的物化视图也只会在插入发生的节点被触发

    2.5K50

    NHibernate中关于Inverse的理解和使用

    在项目中NHibernate进行ORMapping,操作数据库变得非常简单,但是NHibernate中有很多特性不是很容易理解,比如Inverse这个功能就是其中的一个。...【注意:这里是说最终结果,而不是中间结果,在Insert OrderItem的时候,其OrderId为该对象对应的Order对象的Id,如果该Order对象未保存,则OrderId为null,如果是已保存的...= 100000000100001 [Type: Int64 (0)] 仔细分析这些SQL语句,就会发现在insert保存U1时,其DepartmentId是有值的,而Insert保存U2时,其DepartmentId..., @p1);@p0 = 1000000002 [Type: Int64 (0)], @p1 = 1000000001 [Type: Int64 (0)] 明明应该是往中间表插入2条记录的,但是这样5-...8行却变成了插入4条记录。

    47130

    一行Pandas代码制作数据分析透视表,太牛了

    int64 8 sales 4248 non-null int64 dtypes: datetime64[ns](1), int64...region'], values=['sales'], aggfunc=['sum', 'count']) output 剩下最后的一个关键参数columns类似于之前提到的index用来设置列层次的字段...,当然它并不是一个必要的参数,例如 df.pivot_table(index=['region'], values=['sales'], aggfunc='sum', columns=['product_category...']) output 在“列”方向上表示每种咖啡在每个地区的销量总和,要是我们不调用columns参数,而是统一作为index索引的话,代码如下 df.pivot_table(index=['region...sales'], aggfunc='sum') output 熟能生巧 我们再来做几组练习,我们除了想要知道销量之外还想知道各个品种的咖啡在每个地区的成本如何,我们在values当中添加“cost”的字段

    91640

    Go 复合数据类型之结构体与自定义类型

    而类型 T3 的底层类型为类型 string,与 T1/T2 的底层类型不同,所以它们本质上就不是相同的类型。...2.4 使用其他结构体作为自定义结构体中字段的类型 2.4.1 结构体嵌套介绍 结构体嵌套是指在一个结构体内部嵌入另一个结构体,将一个结构体类型的字段嵌套到另一个结构体中,以创建复合结构体。...2.4.2 结构体嵌套的好处 使用其他结构体作为字段类型的好处包括: 模块化:将数据模型分解成更小的结构体,每个结构体关注特定的数据和功能,有助于提高代码的模块化性。...,虽然 Go 编译器没有在结构体变量占用的内存空间中插入额外字段,但结构体字段实际上可能并不是紧密相连的,中间可能存在“缝隙”。...有了对其的 i 作为基础,我们现在知道将 u 与 i 相邻而放,是可以满足其地址的对齐要求的。i 之后的那个字节的地址肯定可以被 8 整除,也一定可以被 2 整除。

    22520
    领券