【发布时间】:2012-03-24 07:04:33
【问题描述】:
我正在实现一个处理相当多字段的联系人数据库。它们中的大多数是预定义的,可以认为是绑定的,但也有一些不是。我们将这些字段之一称为“组”。我们目前实现它的方式是(每个文档/联系人都有“组”字段):
'groups' : {
152 : 'hi',
111 : 'group2'
}
但经过一些阅读后,我认为我应该这样做:
'groups' : [
{ 'id' : 152, 'name' : 'hi' },
{ 'id' : 111, 'name' : 'group2' }
...
]
然后应用索引db.contact.ensureIndex({'groups.id':1});
我的问题是关于功能的。这两种结构之间有什么区别以及索引是如何实际构建的(它是简单地在每个文档/联系人中建立索引,还是构建一个包含所有文档/联系人的所有组的完整索引?)。
我假设这是结构上最好的方式,但如果我不正确,请告诉我。
【问题讨论】: