lumen和mongodb的不同查询不起作用

时间:2018-11-20 05:47:19

标签: php mongodb laravel eloquent

我想获取唯一值的计数,如下所示,

 $query = DB::connection('mongodb')->collection('email_message')
                ->distinct()->select("email_thread_id")
                ->where('email_account_id', (int)$request->email_account_id)
                ->where('status', "Active")->where('folder_id', "=", $folderId);
    $result = $query->count();

它的计数值应该是9,而我得到的是12。

这并没有给我带来独特的价值。 有人可以帮我解决吗?

我下面更新了我的mongodb屏幕截图,在这里我删除了一条记录,因此它将显示总共11条记录 enter image description here

1 个答案:

答案 0 :(得分:1)

You didn't mention the distinct('FIELD_NAME') field name.

$query = DB::connection('mongodb')->collection('email_message')
            ->distinct('email_thread_id')->select("email_thread_id")
            ->where('email_account_id', (int)$request->email_account_id)
            ->where('status', "Active")->where('folder_id', "=", $folderId);
$result = $query->count();

NB ::我刚刚在distinct()上提到了字段名称