【发布时间】:2015-09-07 06:42:16
【问题描述】:
我需要计算两个用户的共同点赞项目。我如何在 Spring Data MongoDB 中做到这一点。
假设user1喜欢物品a,user2喜欢物品a,那么这些用户之间的共同物品是1。那么,这里的物品喜欢/不喜欢的结构相同,那么如何通过mongodb查询得到这个物品。
我的域名设计看起来像
public class UserItemHistory {
long userId;
long itemId;
int status // status will be 1 if user likes item
}
数据结构将是
{
user_id:1,
item_id:2,
status:1
}
{
user_id:2,
item_id:2,
status:1
}
【问题讨论】:
-
这并没有真正解释很多。
itemId是否对每个用户都是唯一的,以便每个userId不会多次列出它?是否为所有用户保留相同的itemId值?是否可以识别两个用户在itemId上共享相同的“喜欢”状态? -
是的,我已经更新了问题,请查看。
标签: java mongodb mongodb-query aggregation-framework spring-data-mongodb