Php 注意:未定义的属性:MongoId

Php 注意:未定义的属性:MongoId,php,mongodb,Php,Mongodb,我是一名MongoDB初学者。我想解析MongoDB文档。但我遇到了以下错误:注意:未定义属性:MongoId::$created_at这是我文档的一部分: {"_id":{"$id":"554351e5fd2897ac42000029"}, "0":{"created_at":"Thu Apr 30 12:25:12 +0000 2015", "id":5.9375296462128e+17}, "1":{"created_at":"Thu Apr 30 12:25:12 +0000 2015

我是一名MongoDB初学者。
我想解析MongoDB文档。
但我遇到了以下错误:

注意:未定义属性:MongoId::$created_at


这是我文档的一部分:

{"_id":{"$id":"554351e5fd2897ac42000029"},
"0":{"created_at":"Thu Apr 30 12:25:12 +0000 2015",
"id":5.9375296462128e+17},
"1":{"created_at":"Thu Apr 30 12:25:12 +0000 2015",
"id":5.93277777128e+17}
$cursor = (object)$collection->findOne( $query );
    $l = 0;
    foreach ($cursor as $twt) {
      $twt = (object) $twt;
        $test[$l] = (object)(
       $twt->created_at
        );
        $l = $l +1; }

     echo json_encode($test);`

这是我的PHP代码:

{"_id":{"$id":"554351e5fd2897ac42000029"},
"0":{"created_at":"Thu Apr 30 12:25:12 +0000 2015",
"id":5.9375296462128e+17},
"1":{"created_at":"Thu Apr 30 12:25:12 +0000 2015",
"id":5.93277777128e+17}
$cursor = (object)$collection->findOne( $query );
    $l = 0;
    foreach ($cursor as $twt) {
      $twt = (object) $twt;
        $test[$l] = (object)(
       $twt->created_at
        );
        $l = $l +1; }

     echo json_encode($test);`

您的对象数据结构有点奇怪,看起来您有一个“0”和一个“1”键。createdat属性位于“0”键内。尝试展平您的对象,使
createdat
属性处于顶层,与_id

相同,这对我来说是有效的

$cursor =$collection->findOne( $query );
    unset($cursor["_id"]);
    $cursor= (object)$cursor;
$l = 0;
    foreach ($cursor as $twt) {
        $twts = (object) $twt;
        $test[$l] = (object)(
       $twts->created_at
        );
    $l = $l +1; }

我不能触摸我的文档,因为它是一个API的响应,使用了一些查询,并且我已经将它存储在MongoDBMaybe中。请尝试
$twt->{0}->createdat
,然后您将不得不使用数组而不是强制转换到对象,并以
$twt[0]['createdat']的身份访问它。
我得到这个错误
无法将MongoId类型的对象用作数组