如何通过php查询获取mongodb中文档的mongo db id

时间:2014-08-06 10:45:09

标签: php mongodb

这是我的数据库结构

{
"_id" : ObjectId("53e1c74f05a7d1440f000000"),
"div1" : "div1text1",
"div2" : "div2text2"
"div3" : [
    {
        "div3.div1" : "div3text1",
        "div3.div2" : "div3text2",
        "div3.div3" : "div3text3",
        "div3.div4" : "div3text4",
        "div3.div5" : "div3text5",
        "div3.div6" : "div3text6"
    }
]
}

我想获取此文档的mongodb对象ID

这就是我做的方式

        $result = $collection->aggregate(array(
   array(
'$match' => array(
 'div1' => "div1text1" 

)
),
 array(
'$unwind' => '$div3'
 ),
        array(
'$match' => array(
  'div1' => "div1text1" 


   )
 ),
  array(
'$project' => array(

  'id'=>'$id',
  'value' => '$div2'
   ),

)
));

echo $rwdta = json_encode($result['result']);

这是编码数据的值

[{"_id":{"$id":"53884fd505a7d10906000000"},"value":"div2text2"}

这里我只想要这个mongo id。

这就是我做的事情

$rawdat=  json_decode($rwdta);

$i=0;
foreach ($rawdat as $vval)
{
$idar[]=$rawdat[$i]->id;
$namear[]=$rawdat[$i]->value;
$i=$i+1;
}

for($j=0;$j<$i;$j++)
 {
 echo $idar[$j]." -> ";

 echo $namear[$j];
 echo "<br>";
 }

这就是我得到的

- &GT; div2text2。

我没有得到身份证明,有人请求帮助

1 个答案:

答案 0 :(得分:1)

这不够吗?

$rawdat = json_decode($rwdta);
$id     = '$id';

print_r($rawdat->_id->$id);
相关问题