我这里有数组。
这来自php结果。
$result1 = $mo->find(
array(
'username' => 'BLABLA',
'stream' => array('$exists' => true)
)
);
foreach ($result1 as $obj) {
print_r($obj);
}
我如何对 [stream] 子项进行排序并将其限制为 1 个结果?以及如何找到 [id_stream] 孩子?
谢谢
我这里有数组。
这来自php结果。
$result1 = $mo->find(
array(
'username' => 'BLABLA',
'stream' => array('$exists' => true)
)
);
foreach ($result1 as $obj) {
print_r($obj);
}
我如何对 [stream] 子项进行排序并将其限制为 1 个结果?以及如何找到 [id_stream] 孩子?
谢谢
为了限制,单个文档使用limit(1)
:
$result1 = $mo->find(array('username' => 'BLABLA', 'stream' => array('$exists' => true)))->limit(1);
或者
findOne
$result1 = $mo->findOne( array('username' => 'BLABLA', 'stream' => array('$exists' => true) ) );
并对孩子进行分类。您还需要在最后添加->sort(array("stream.time" => -1));
我见过的 pastebin,我猜您想按日期订购。
最终代码:
$result1 = $mo->findOne( array(
'username' => 'BLABLA',
'stream' => array('$exists' => true)))->sort(array("stream.time" => -1));;
根据我所知道的限制为数组的单个值,您需要一个需要添加的循环
(在查找内部,就在主数组之后):find(.... , array('streams' => array('$slice' => 1)));