MongoDB NumberLong在PHP中的显示


MongoDB NumberLong display in PHP

目前我正在MongoDB收集数据到PHP表中,在我的MongoDB收集中有以下数据

> db.AETOM.find().pretty()
{
    "_id" : {
        "UCODE" : NumberLong("413010192215382"),
        "DCODE" : NumberLong("990004908640390")
    },
    "Total" : 14
}
{
    "_id" : {
        "UCODE" : NumberLong("413010192171534"),
        "DCODE" : NumberLong("990004393658160")
    },
    "Total" : 562
}
{
    "_id" : {
        "UCODE" : NumberLong("413011193047063"),
        "DCODE" : NumberLong("990004298968470")
    },
    "Total" : 99
}

这是我用来显示记录

的代码
<?php
        $m = new MongoClient();
        $db = $m->selectDB('MapData');
        $collection = new MongoCollection($db,'AETOM');
        $cursor = $collection->find();
        $cursor->limit(10);
        echo "<html><head></head><body>";
        $data  = "<table style='border:1px solid red;";
        $data .= "border-collapse:collapse' border='1px'>";
        $data .= "<thead>";
        $data .= "<tr>";
        $data .= "<th>UCODE</th>";
        $data .= "<th>DCODE</th>";
        $data .= "<th>Total</th>";
        $data .= "</tr>";
        $data .= "</thead>";
        $data .= "<tbody>";
        foreach($cursor as $document) {
            $data .= "<tr>";
            $data .= "<td>" . $document["UCODE"] . "</td>";
            $data .= "<td>" . $document["DCODE"] . "</td>";
            $data .= "<td>" . $document["Total"]."</td>";
            $data .= "</tr>";
        }
        $data .= "</tbody>";
        $data .= "</table>";
        echo $data;
        echo "</body></html>";
?>

当我运行它时,它只显示"Total"值,UCODE和DCODE字段不显示任何东西,当我用终端检查它时,它显示下面的错误

PHP提示:未定义索引:UCODE in/var/www/html/mongodbt/test2.php第23行

PHP提示:未定义索引:DCODE in/var/www/html/mongodbt/test2.php第22行

请帮我解决这个问题

由于UCODEDCODE_id数组中,所以要获取它们,您必须这样做:-

$document["_id"]["UCODE"]  instead of $document["UCODE"]

$document["_id"]["DCODE"] instead of $document["DCODE"]