获取组以及每个组的大小

时间:2019-06-14 13:35:25

标签: laravel mongodb mongodb-query

因此,我有一个mongo数据库(共21k个输入),其中包含诸如action(有5种不同的action)id,时间等列。

我需要获取每个动作的名称,以及该动作发生了多少次。例如:USERPROPERTY_CHANGED-755

我在这里Laravel Eloquent groupBy() AND also return count of each group

中尝试了几乎所有东西

然后,我尝试进行anothe收集,在其中我一个接一个地输入字段,然后获取它们,但是我的迁移看起来像这样:

<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class actionPopularity extends Migration
{
public function up()
{
    Schema::create('actionPopularity', function (Blueprint 
$collection) {
        $collection->Increments('id');
        $collection->string('action');
        $collection->integer('count');
    });
}
public function down()
{
    Schema::dropIfExists('actionPopularity');
}
}

但是此生成的集合只有一个字段-id。

这是一种可以工作的东西(表明它可以与数据库一起工作)

    Controller:

public function database_test()
{
 $actions = Action::groupBy('action')->get();

 return view('database_test',compact('actions'));
 }

视图:

  {{$actions}}

输出:

        [{"_id": 
{"action":"OBJECT_INSERT"},"action":"OBJECT_INSERT"}, 
        {"_id": 
{"action":"OBJECT_MODIFY"},"action":"OBJECT_MODIFY"}, 
       {"_id": 
        {"action":"null"},"action":"null"},{"_id": 

{"action":"USERPROPERTY_CHANGED"},"action":"USERPROPERTY_CHANGED"}, 
       {"_id":{"action":"OBJECT_DELETE"},"action":"OBJECT_DELETE"}]

最终我想得到两个数组,一个数组带有动作名称,另一个数组带有该动作被调用的次数,以将其放入图表中。

0 个答案:

没有答案