簡體   English   中英

聚合和匹配字段與java mongodb中的數組

[英]Aggregation and matching fields with an array in java mongodb

movies:{_id:"12",
      name:"comedy",
      rating:[{
        {user_id:"1",rate:5},
        {user_id:"2", rate:8}, 
        {user_id:"3",rate:4}
             }]
      }

我在java中有一個users []數組,其中包含一組users_ids。 (用戶= { “2”, “3”}); 另外,我還有一些電影,其中包含該電影的用戶評分。

我想在數組中找到所有由用戶評分的電影,並按這些用戶評分的總和對它們進行排序(推薦為top3)。

我在您的文檔中做了一些修改,例如

{_id:“ 12”,名稱:“喜劇”,評分:[{user_id:“ 1”,評分:5},{user_id:“ 2”,評分:8},{user_id:“ 3”,評分:4 }]}

嘗試這個

db.movi​​es.aggregate([{$ unwind:“ $ rating”},{$ group:{_ id:“ $ _ id”,rating:{$ sum:“ $ rating.rate”}}}},{$ sort:{ “評級”: - 1}}])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM