草庐IT

分组码

全部标签

mongodb - 使用 Mongo 聚合框架对数组进行分组操作

我正在使用mongodb2.2。我想使用新的聚合框架对我的文档进行查询,但元素是数组。这里是我的$project结果的例子:{"type":["ads-get-yyy","ads-get-zzz"],"count":[NumberLong(0),NumberLong(10)],"latency":[0.9790918827056885,0.9790918827056885]}我想按类型分组,所以“ads-get-yyy”要知道计数的平均值是多少,延迟的平均值是多少。我想要类似于下一个查询的东西,但它在每个数组的元素内部起作用:db.test.aggregate({$project:{"

php - 按字段分组在 MongoDB 中不起作用

我正在尝试计算数据库中所有记录的总和,我需要避免重复。我编写了这段代码来对记录进行分组,但它对我不起作用。$pipeline=[['$match'=>$criteria->getCondition()],['$group'=>['_id'=>'$order_id','total'=>['$sum'=>'$'.$column]]]];$this->getDbConnection()->aggregate('ticket_cache',$pipeline);测试请求:db.getCollection('ticket_cache').aggregate({"$match":{"event_i

mongodb - 如何对mongo中的后续元素进行分组?

如何在mongo中按属性对后续元素进行分组。这是我的mongo文档(事件),我希望能够按类型对它们进行子顺序分组。{"_id":ObjectId("5d1b68d708f3870049d9cc37"),"controllerId":"80058c2b-9525-4f7f-8e26-faea4ad92b15","id":"76800453-e72e-410b-accc-cf47cd2773a1","type":"controller_connection_status","timestamp":1562077399832.0,}/*2*/{"_id":ObjectId("5d1b68db

mongodb - mongoid 中的排序和分组

我想要按年龄排序的人群我试过这样的东西Person.only(:name).asc(:age).group但没有按年龄排序。我该怎么做?我正在使用mongoidbeta19。 最佳答案 如果我没记错的话,一旦你打电话Person.only(:name)Mongoid基本上认为集合只有那个字段,所以一旦您尝试按年龄排序,就没有年龄字段可以排序,所以它什么都不做。尝试Person.asc(:age).only(:name).group或者可能Person.asc(:age).only([:name,:age]).group

mongodb:如何对数组字段进行分组和聚合

Mongodb,一个名为'blog'的集合有一个'tags'字段,就像这样blog1.tags=['javascript','node.js','express']blog2.tags=['javascript','jquery']blog3.tags=['javascript','node.js']现在我需要一个热门标签列表,像这样[['javascript',3],['node.js',2],['express',1],['jquery',1]]我该怎么做? 最佳答案 在Mongodb2.2中,您将能够使用聚合框架以及$unwi

MongoDB 按键值对聚合/分组

我的数据看起来像这样:{"_id":"9aa072e4-b706-47e6-9607-1a39e904a05a","customerId":"2164289-4","channelStatuses":{"FOO":{"status":"done"},"BAR":{"status":"error"}},"channel":"BAR",}我的聚合/组看起来像这样:{"_id":{"customerId":"$customerId","channel":"$channel","status":"$channelStatuses[$channel].status"},"count":{"$su

mongodb - 在 mongodb 中对组查询的结果进行分组

我有以下示例数据:{"name":"Bob","mi":"K","martialStatus":"M","age":30,"city":"Paris","job":"Engineer"}{"name":"Chad","mi":"M","martialStatus":"W","age":31,"city":"Paris","job":"Doctor"}{"name":"Mel","mi":"A","martialStatus":"D","age":31,"city":"London","job":"Doctor"}{"name":"Frank","mi":"F","martialStat

php - MongoDB 与 PHP 聚合 - 按日期分组

我在MongoDB中使用aggregate和PHP。代码如下:$results=$c->aggregate(array(array('$project'=>array('day'=>array('$dayOfYear'=>'$executed')),),array('$group'=>array('_id'=>array('day'=>'$day'),'count'=>array('$sum'=>1)),),array('$sort'=>array('_id'=>1),),array('$limit'=>30)));这个问题是$dayOfYear没有正确排序,因为它排序为2然后3然后3

mongodb - 如何按月对文件进行分组?

我在mongodb中有一个事务数据集合,像这样:[{timestamp:ISODate("2015-11-10T11:33:41.075Z"),nominal:25.121},{timestamp:ISODate("2015-11-22T11:33:41.075Z"),nominal:25.121},{timestamp:ISODate("2015-11-23T11:33:41.075Z"),nominal:26.121},{timestamp:ISODate("2015-12-03T11:33:41.075Z"),nominal:30.121},]我如何使用mongodb的aggre

MongoDB 聚合,按子对象键分组

我有一个mongo集合,其架构如下所示:_id:ObjectId(),segments:{activity:'value1',activation:'value2',plan:'value3'}例如,我正在尝试使用聚合框架找出我的文档中有多少具有分割事件的value1。问题是,如果可能的话,我想对同一请求中的每个段都这样做,而且我不知道我将拥有多少段,甚至不知道它们的名称。基本上这是我想做的:如果我有这两个文件:{_id:1,segments:{activity:'active',activation:'inactive',plan:'free'}{_id:2,segments:{ac