movies:{_id:"12",
name:"comedy",
rating:[{
{user_id:"1",rate:5},
{user_id:"2", rate:8},
{user_id:"3",rate:4}
}]
}
我在java中有一个包含一组users_ids的users []数组。 (用户= {" 2"" 3"}); 另外,我有一系列电影,其中包含电影用户的评分。
我想查找阵列中用户评分的所有电影,并按照这些用户的总和订购它们的费率,推荐top3。
答案 0 :(得分:0)
我在您的文档中进行了一些修改,例如
{_ ID:" 12&#34 ;, 名:"喜剧&#34 ;, 评分:[ {USER_ID:" 1",速率:5}, {user_id:" 2",rate:8}, {USER_ID:" 3",速率:4} ] }
试试这个
db.movies.aggregate([{$展开:" $评级"},{$组:{_ ID:" $ _ ID",等级:{$总和:&# 34; $ rating.rate"}}},{$排序 :{"评价" - 1}}])