作为一个具有RDBMS背景的mongo / nosql新手,我想知道什么是最好的方法。
目前我有一大堆文件,包含在某些领域,我认为是“参考数据”。
我需要在搜索界面中显示,总结这些“参考字段”的可能值,以进一步对我的文档集进行过滤。
让我们来看一个关于营养的非常简单和愚蠢的例子。 以下是一些mongo文档的摘录:
{ "_id": 1, "name": "apple", "category": "fruit"}
{ "_id": 1, "name": "orange", "category": "fruit"}
{ "_id": 1, "name": "cucumber", "category": "vegetable"}
在appplication中我想要一个显示“类别”的所有可能值的选择框。这里会显示“水果”和“蔬菜”。
最好的方法是什么?
答案 0 :(得分:1)
第一个选项是最容易实现的,如果你正确设置了索引(参见distinct command),它应该是高效的,所以我会这样做。
您还可以选择第二个选项(链接到参考集合 - RDBMS方式),用于交换性能(您需要更多查询以获取数据) space (你将需要更少的空间)。此外,如果该类别也用于其他集合,则此选项是首选。
我建议不要在这种情况下使用混合系统(NoSQL + RDBMS),因为其他选项更好。
您还可以直接在应用程序代码中存储类别值 - 具体取决于您的使用案例。有时它是有道理的,虽然如果你告诉他,任何RDBMS狂热者都会泪流满面(或更糟)。因人而异。 ;)