Array( [id] => 00008 [game] => Array ( [0] => Array ( [gid] => 02569 [date] => 1363583244 ) [1] => Array ( [gid] => 04001 [date] => 1363339740 ) ) ) Array( [id] => 00010 [game] => Array ( [0] => Array ( [gid] => 02569 [date] => 1363583244 ) [1] => Array ( [gid] => 04028 [date] => 1363889740 ) ) )
上面是众多结果当中的2个。我现在的需求是从所有结果当中找到gid = 02569的,并且按照对应的date进行DESC排序
類似這樣使用aggregate框架來實現(僅供參考思路,未測試)。 mongodb 2.2+可用。
你要把什麼排序呢?整個doc? 還是doc.game?就是說是不是只看game這一級的?
如果你要把子文檔弄出來排序,用aggregation framework就好了。但應該在樓上的加個unwind,而且sort的key也不對,應該是game.date吧。
php的aggregation framework 文件: http://www.php.net/manual/en/mongocollection.aggregate.php