关于云数据库中所有id 中某个数组属性 里面对象中的key进行排序,怎么获取自己想要的数据?
发布于 6 年前 作者 haojun 11237 次浏览 来自 官方Issues

我的目的是在数据库usersInfo中所有的id记录中,把数组content的对象key值like进行前20名从高到底排序,然后取出想要的text内容!这个思路跟代码该怎么写?看了下数据库中聚合的案例,好像不合适我这种数据结构,是可以直接取?还是把users所有id 中你的content数组进行拼接再排序,然后取出相应的text?

1 回复

每个_id对应的记录分别取content里like值降序的前20 ?

===================================

db.collection('usersInfo').aggregate()
  .unwind('$content')
  .replaceRoot({
    newRoot: '$content'
  })
  .sort({
    'like': -1
  })
  .limit(3)
  .end()

若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人

回到顶部