如何从php MongoCursor返回JSON数据

use*_*r10 9 php mongodb

我正在使用PHP连接MongoDB.我的代码如下.

// connect
$m = new MongoClient($con_string); // connect to a remote host at a given port
$db = $m->main;

$customers = $db->customer->find();
Run Code Online (Sandbox Code Playgroud)

我想将$ customers集合作为json文档返回到我的HTML.我怎样才能做到这一点?

Sam*_*aye 18

你可以这两种方式:

echo json_encode(iterator_to_array($customers));
Run Code Online (Sandbox Code Playgroud)

或者您可以手动滚动它:

foreach($customers as $k => $row){
    echo json_encode($row);
}
Run Code Online (Sandbox Code Playgroud)

每个MongoDBs对象都应__toString()正确实现其方法,以恢复值的表示.


use*_*r10 8

这也行.你也可以自定义你的json.

    $arr = array();

    foreach($customers as $c)
    {
        $temp = array("name" => $c["name"], "phone" => $c["phone"], 
                                            "address" => $c["address"]);
        array_push($arr, $temp);
    }

    echo json_encode($arr);
Run Code Online (Sandbox Code Playgroud)