2017-05-28 115 views
0

选择嵌套/嵌入文档我收集的文件这样如何在MongoDB中和PHP

{ _id:8123713291 
    report: { 
      name_of_report: "foo" 
    } 
} 

我试图做到这一点

. 
. 
. 
. 
cursor=collection->find($query) 
foreach($cursor as $doc){ 
    foreach($doc['report'] as $docc){ 
    echo $docc['name_of_report']; 
    } 
} 

但是有一些错误,错误说“非法字符串偏移量'name_of_report'“。该代码有什么问题?

+0

echo $ doc ['report'] ['name_of_report']'甚至'$ report = $ doc ['report']; echo $ report ['name_of_report']'?适用于我。否则,你会迭代innner对象的其他键,我看不出为什么你想这样做。 –

+0

谢谢你回答了答案。你说的两个回声都在工作! Omg就像魔术先生! :)你为什么回答评论?我不能给你一张支票,而是你的回答。 @NeilLunn – Unknown

回答

0

我修改了一下你的代码。它应该现在工作: -

$cursor=collection->find($query); 
$cursor=iterator_to_array($cursor); 
foreach($cursor as $doc){ 
    foreach($doc as $docc){ 
    echo $docc['name_of_report']; 
    } 
}