【发布时间】:2012-11-19 16:49:25
【问题描述】:
我知道这个问题被问了好几次,但就我的搜索技能而言,每篇文章都是如何在 SQL 数据库中实现这一点,并没有提到 NoSQL 数据库。
我有想要为其实施标记功能的文档。
用户将能够用他们想要的任何字符串标记它们,然后我需要能够尽可能快地查询文档(通过这些通用标签)
我是否应该为我的标签设置一个String 数组(这将允许我支持任意数量的标签),像这样
{"_id":"aaa", "prop":"value", "tags":["tag1","tag2","tagN"]}
或将标签的数量限制为 5 个,并将它们作为不同的属性,像这样
{"_id":"aaa", "prop":"value", "tag1":"value", "tag2":"value", "tag3":"value" }
哪种结构更适合快速查询,特别是在 mongodb 中?
使用第二个结构可以让我通过这个字段来索引集合,但是推荐 5 个索引吗?我应该少一些标签吗?
【问题讨论】:
标签: mongodb database-design optimization