草庐IT

分组会

全部标签

mongodb - 如何聚合以获得每个电影分组键两个用户的每个组合?

这是我的收藏:{"user":1,"rate":1,"movie":1}{"user":1,"rate":3,"movie":3}{"user":1,"rate":2,"movie":4}{"user":1,"rate":3,"movie":5}{"user":2,"rate":4,"movie":1}{"user":2,"rate":2,"movie":3}{"user":2,"rate":5,"movie":6}{"user":3,"rate":1,"movie":3}这是我想要得到的结果:{"user1":1,"rate1":1,"user2":2,"rate2":4,"movi

mongodb - 如何根据从 objectId 中提取的创建日期对 MongoDB 集合进行分组?

我想在mongoDB中使用组聚合,以便根据文档的创建日期对文档进行分组。我没有将创建日期保存为一个字段,但我知道我可以从我的ObjectId中提取这个日期。所以,我试着写这样的东西:db.sales.aggregate([{$group:{_id:{month:{$month:ObjectId("$_id").getTimestamp()},day:{$dayOfMonth:ObjectId("$_id").getTimestamp()},year:{$year:ObjectId("$_id").getTimestamp()}},averageQuantity:{$avg:"$quan

mongodb - 如何按两个不同的字段分组

我收藏的文档结构如下所示:[{sender:'A',recipient:'B',date:NewMongoDate(1),contents:'Blablabla1'},{sender:'B',recipient:'A',date:NewMongoDate(2),contents:'Blablabla2'},{sender:'A',recipient:'C',date:NewMongoDate(4),contents:'Blablabla1'},{sender:'C',recipient:'A',date:NewMongoDate(3),contents:'Blablabla2'}{se

java - Mongodb查询,在文档中搜索数组元素分组并计算每个元素

假设我有一个包含多个文档的集合,其结构如下:{_id:"id12345",objects:["123","456","789"]}现在我想创建一个查询,我在其中传递对象数组并获取数组中每个元素在文档中出现的次数,如下所示:查询输入:["123","321"]输出:{"123":1,"321":0}我只想通过一个查询来完成此操作,传递一个数组,我知道我可以一个一个地轻松完成此操作而不是一个数组,但这不是目的。 最佳答案 您可以在3.6中使用以下聚合。$match过滤输入数组和对象数组之间至少有一个数组匹配的文档。$project与$m

MongoDB 对同一文档中多个字段的结果进行分组和计算

关于MongoDB聚合框架,我能得到你的帮助吗?我试图从以下游戏集合中构建一个英超联赛表:{"_id":ObjectId("5b39fec4b5f8df161d259f36"),"gameWeek":1,"homeTeam":"Arsenal","awayTeam":"Leicester","homeGoals":2,"awayGoals":1},{"_id":ObjectId("5b39ffc2b5f8df161d259f6d"),"gameWeek":2,"homeTeam":"Arsenal","awayTeam":"Sunderland","homeGoals":1,"away

国密SM4分组密码算法

前言密码,是指使用特定变换对数据等信息进行加密保护或安全认证的物项(承载算法、密钥、密文的介质)和技术,主要用于加密和安全认证(身份识别、完整性、抗抵赖性)。密码按照保密等级,又分为核密、普密、商密三种,其中核密、普密用于涉及国家秘密领域,商密用于非涉及国家秘密领域。接下来,我们重点讲一下这个商密。什么是商用密码?商密,全称商用密码,是国家密码局认定的国产密码算法,又称国密算法,为了保障商用密码的安全性,国家商用密码管理办公室制定了一系列密码标准,包括对称算法(SM1、SM4等),非对称算法(SM2、SM9)以及哈希算法(SM3)等等。这些密码标准可以有效保护信息安全所面临的威胁,例如:为防止

mongodb - 按MongoDB中的多个字段分组

这是我的文档结构:{"ip_address":"192.168.133.12","timestamp":"2014-08-28T06:41:24","response":400,"uri":{"term":"Something","page":"10","category":"category10"}}如果我想对单个字段“响应”进行分组,我将按如下方式进行:db.collName.aggregate({$group:{_id:"$response",total:{$sum:1}}});如何按2个或3个字段分组?是否可以对多个字段进行分组,使它们形成具有相似值的聚合?我的意思是这样的:{

spring - 如何使用 Spring Mongo 对两个字段进行分组并根据另一个字段获取一个字段的数组?

我举个例子:集合中的两个条目作者:{"name":"Joe""Book":"A"},{"name":"Joe""Book":"B"}现在,如果我通过springmongo在Mongo中使用聚合函数,基本上只是为了获取名为Joe的书籍,它可以编码为:Aggregationagg=newAggregation(Map.class,group("name","Book"));AggregationResultsresults=mongoTemplate.aggregate(agg,"Author",Map.class);显然我可以通过这种方式获得两张map,一张有条目{"name":"Joe

mongodb - 使用存储的json数据在mongo中分组数据

这是我在我的mongo数据库中的数据:{"_id":ObjectId("556d1c7716efd4a035d8e473"),"products":[{"gtin":77770000222313,"gpc":10000068},{"gtin":77770000222312,"gpc":10000068}]}我如何聚合它以便获得gpc值,然后是gtins下的数组?像这样的东西:{"gpc":10000068,"gtin":[77770000222312,77770000222313]} 最佳答案 使用聚合框架db.collection

MongoDB 按计数分组删除记录

我有很多包含重复地址的记录。基本上,我想删除那些重复地址数超过50但少于300的记录。这是我获取要删除的记录的方式:db.directories.aggregate([{$group:{_id:{address:"$address"},total:{$sum:1}}},{$match:{total:{$gt:50,$lt:300}}},{$sort:{total:-1}}],{allowDiskUse:true}); 最佳答案 可以使用游标方法forEach()迭代从aggregate()返回的游标方法并使用remove()删除文档