Php 注意:未定义的属性:MongoId
我是一名MongoDB初学者。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文档。
但我遇到了以下错误:
注意:未定义属性: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类型的对象用作数组