最近我正在探索NoSQL 数据库。我需要关于如何针对给定问题以最优化、最有效的方式存储数据的建议。我现在的目标是 MongoDB。不过,它应该与 CouchDB 相同。
假设我们有这 3 个模型:
Story:
id
title
User:
id
name
Vote:
id
story_id
user_id
我希望能够向数据库询问以下问题:
我在使用关系数据库时进行简单的连接。问题是,我应该如何存储这些对象的数据才能最有效。
例如,如果我将 Vote 对象存储为 Stories 的子集合,则很难获取信息 - “用户投票了什么”。
我建议将投票存储为故事列表_id
每个用户中的 s。这样,您只需查看列表即可了解用户投票给了哪些故事。要获得为故事投票的用户,您可以执行以下操作:
db.users.find({stories: story_id})
where story_id
is the _id
有关故事的内容。如果您在以下位置创建索引stories
这两个查询都会很快。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)