MongoDB无法从游标/数组中成功提取“列”名称

时间:2012-05-09 08:49:07

标签: php arrays mongodb multidimensional-array

所以,我试图在MongoDB 项目文档中获取属性的名称。我似乎无法找到将名称传回给我的方法。任何帮助/建议表示赞赏。

我的代码:

$cursor = $collection->find( $query );
foreach ($cursor as $obj) {
print_r ($obj);
echo $obj;
}

print_r返回:

Array ( [Favorite] => 1171 [Desc] => EGG [Name] => MyThing )

回声:

Array

我希望能够提取“收藏夹”,“描述”和“名称”,但是,无论何时我追踪这些字段,我都会获得价值。

2 个答案:

答案 0 :(得分:2)

MongoDB中没有列。每个文档本质上都是一个JSON对象。每个文档可以具有完全不同的结构。

我不使用PHP,但我猜测对象会以PHP的关联数组的形式返回。因此,使用appropriate PHP functions为此具体文档获取字段名称。同样,您无法获得整个集合的“列列表”。

答案 1 :(得分:1)

$data  = iterator_to_array( $collection->find($query) );
foreach($data as $d)
   $names[] = array_keys($d);