链接具有一个或多个标签,所以在一开始似乎自然地嵌入标签:如何在MongoDB中有效地实现这些查询?
link = { title: 'How would you implement these queries efficiently in MongoDB?'
url: 'http://stackoverflow.com/questions/3720972'
tags: ['ruby', 'mongodb', 'database-schema', 'database-design', 'nosql']}
如何将这些查询能够高效地实现?
- 包含一个或多个给定的标签(用于搜索与特定标记的链接)
- 获取所有标签的列表,但不重复(搜索框自动完成)获得链接
- 获取最热门的标签(显示顶部10的标签或标签云)
到表示与上述是基于MongoNY presentation链路的想法,滑动38.
为了增加人气场的标签,该标签将需要添加或移动到一个单独的收集,正确吗? – randomguy 2010-09-15 19:29:53
你不需要,你可以将它保存在同一个集合中,只需使用dbref指向标签。一个不同的集合会让你更简单地管理你的数据(这是我推荐的)。 – Asaf 2010-09-15 19:38:29
在标签集合中,我建议将标签名称放在_id字段中,而不是使用单独的标签字段。另外,如果您不介意为每个标记执行一次更新而不是使用$ in,则可以仅查询{_id:“tag_name”}并使用upsert功能创建新的标记条目。 – mstearn 2010-09-15 20:19:31