使用java mongodb中的数组聚合和匹配字段

时间:2015-09-23 00:53:44

标签: javascript java arrays mongodb mongodb-query

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。

1 个答案:

答案 0 :(得分:0)

我在您的文档中进行了一些修改,例如

{_ ID:" 12&#34 ;,       名:"喜剧&#34 ;,       评分:[         {USER_ID:" 1",速率:5},         {user_id:" 2",rate:8},         {USER_ID:" 3",速率:4}              ]       }

试试这个

  

db.movi​​es.aggregate([{$展开:" $评级"},{$组:{_ ID:" $ _ ID",等级:{$总和:&# 34; $ rating.rate"}}},{$排序   :{"评价" - 1}}])