2

ここに配列があります。

http://pastebin.com/i5ZUQNm6

そしてこれはphpの結果から。

$result1 = $mo->find(
  array(
    'username' => 'BLABLA',
    'stream' => array('$exists' => true)
  )
);  
foreach ($result1 as $obj) {
  print_r($obj);
}

[ストリーム]の子を並べ替えて1つの結果に制限するにはどうすればよいですか?[id_stream]の子を見つける方法は?

ありがとう

4

2 に答える 2

0

単一のドキュメントに制限するには、次を使用します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) ) );


そして、子供を分類する。最後に I've seen the pastebin も追加する必要があり->sort(array("stream.time" => -1)); ます。日付順に並べたいと思います。


最終的なコード:

 $result1 = $mo->findOne(   array(
     'username' => 'BLABLA',
     'stream' => array('$exists' => true)))->sort(array("stream.time" => -1));;

配列の単一の値に制限することについて私が知っていることから、追加する必要があるループ が必要です(検索内、メイン配列の直後):find(.... , array('streams' => array('$slice' => 1)));

于 2012-11-20T21:15:41.800 に答える
0

sortlimitの組み合わせを使用するとうまくいくはずです.slownageの答えのコードは、あなたが必要としているもののように見えます.

于 2012-11-20T21:22:37.047 に答える