这是我的数据库结构
{
"_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。
我没有得到身份证明,有人请求帮助
答案 0 :(得分:1)
这不够吗?
$rawdat = json_decode($rwdta);
$id = '$id';
print_r($rawdat->_id->$id);