小程序
小游戏
企业微信
微信支付
扫描小程序码分享
我的目的是在数据库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()
若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
若认为该回答有用,给回答者点个[ 赞 ]
把_id加进content里就行了
db.collection('usersInfo').aggregate()
.unwind('$content')
.addFields({
'content._id': '$_id'
})
.replaceRoot({
newRoot: '$content'
.sort({
'like': -1
.limit(20)
.end()
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
每个_id对应的记录分别取content里like值降序的前20 ?
===================================
db.collection('usersInfo').aggregate() .unwind('$content') .replaceRoot({ newRoot: '$content' }) .sort({ 'like': -1 }) .limit(3) .end()
若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人
若认为该回答有用,给回答者点个[ 赞 ]
把_id加进content里就行了
db.collection('usersInfo').aggregate()
.unwind('$content')
.addFields({
'content._id': '$_id'
})
.replaceRoot({
newRoot: '$content'
})
.sort({
'like': -1
})
.limit(20)
.end()