为了账号安全,请及时绑定邮箱和手机立即绑定

我的需求是从所有结果当中找到gid = 02569的,并且按照对应的date进行DESC排序?

我的需求是从所有结果当中找到gid = 02569的,并且按照对应的date进行DESC排序?

大话西游666 2023-04-26 19:15:54
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排序
查看完整描述

2 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

类似这样使用aggregate框架来实现(仅供参考思路,未测试)。mongodb 2.2+可用。

db.xxx.aggregate([
    {        $match: {'game.gid': 02569}
    },
    {        $sort: {$date: -1}
    }
])


查看完整回答
反对 回复 2023-04-29
?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

你要把什么排序呢?整个doc? 还是doc.game?就是说是不是只看game这一级的?

如果你要把子文档弄出来排序,用aggregation framework就好了。但是应该再加个unwind,而且sort的key也不对,应该是game.date吧。


查看完整回答
反对 回复 2023-04-29
  • 2 回答
  • 0 关注
  • 179 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信