【问题标题】:How to remove waitedMS and ok from mongo db aggregation result?如何从 mongodb 聚合结果中删除 waitedMS 和 ok?
【发布时间】:2017-04-06 05:32:13
【问题描述】:

我正在 mongodb php 应用程序中执行聚合命令,如下面的代码行。

<?php

 $query =  array('$or' => array(
    array('employeeList'=>array('$exists' => false)),
    array('employeeList'=>array('$eq' => null)),
    array('employeeList'=>array('$eq' => ",")),
    array('employeeList'=>array('$eq' => ""))
));

$pipeline = array(
    array(
        '$match' => $query
    ),
    array(
        '$lookup' => array(
            'from' => 'userTbl',
            'localField' => 'user_id',
            'foreignField' => 'uid',
            'as' => 'userdetails'
        )
    ),
);

$output = $this->db->broadcastTbl->aggregate($pipeline);
$result =array();
array_push($result, $output);

现在输出显示为

[{"waitedMS":0,"result":[{"_id":{"$id":"58d7a6561d78597411000029"},"broadcast_id":35,"studentList":"","employeeList":"999","mailTitle":"hello","broadcastMessage":"how","emailSent":"0","userdetails":[]},{"_id":....
...
"ok":1}] 

我想删除“waitedMS”:0。来自 json 的“结果”:和“确定”:1。输出应该是这样的

[{"_id":{"$id":"58d7a6561d78597411000029"},"broadcast_id":35,"studentList":"","employeeList":"999","mailTitle":"hello","broadcastMessage":"how","emailSent":"0","userdetails":[]}, ...
]

请帮帮我!!!

【问题讨论】:

  • 我在这里看不到任何输出,但那不就是$output["result"]吗?
  • 你是绝对正确的,但它现在显示为 [[ .... ]] 我想要 [...]

标签: php json mongodb mongodb-php


【解决方案1】:

您需要做的就是访问“结果”项。不要把它推到另一个数组上。

<?php

 $query =  array('$or' => array(
    array('employeeList'=>array('$exists' => false)),
    array('employeeList'=>array('$eq' => null)),
    array('employeeList'=>array('$eq' => ",")),
    array('employeeList'=>array('$eq' => ""))
));

$pipeline = array(
    array(
        '$match' => $query
    ),
    array(
        '$lookup' => array(
            'from' => 'userTbl',
            'localField' => 'user_id',
            'foreignField' => 'uid',
            'as' => 'userdetails'
        )
    ),
);

$output = $this->db->broadcastTbl->aggregate($pipeline);

$result = $output["result"];

【讨论】:

    猜你喜欢
    • 2020-07-02
    • 2021-07-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-18
    • 2013-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多