【发布时间】:2017-07-06 08:22:54
【问题描述】:
我将用户社交媒体数据存储在 mongo db 中。我有包含所有用户文档的用户集合。在用户文档中,我想将他喜欢的所有页面存储在 Sports 类别中。我将他喜欢的所有页面的数组存储为用户文档中的“体育”键。 如果我想获得所有喜欢特定体育页面的用户,例如Sachin Tendulkar,我可以在 mongoDB 中使用 find() 来检索它,但它会搜索数百万个用户文档以获得结果。这会影响性能。
示例架构:
{
name: "XYZ",
Bday: "07/25/1990",
email: "xyz@yahoo.com",
location: "India",
gender: "male",
Sports: ["Sachin Tendulkar", "John Cena", "Federer", "Nadal", "Ronaldo",....]
}
我到底想要什么:
我想存储数据,以便我可以根据不同的标准(视图)获取信息。考虑一个立方体。立方体的一侧为我提供基于用户的数据,另一侧为我提供基于类别的信息等等。 如何使用 MongoDB 实现这一点?
提前致谢。
【问题讨论】:
-
考虑您的问题。在这一点上,它危险地接近于寻求工具或产品的推荐,这不会被看好。尝试更具体地解决您的数据分析问题,然后您可能会得到一些帮助。
-
感谢您的建议。
-
还有一个建议。尝试一些示例数据来说明。即使是一个小样本。程序员喜欢用数据来解决问题。
-
您对文档架构的描述很难理解。能否请您发布一个示例文档?
-
我已经添加了文档样本。