我正在實現處理相當多的字段的聯繫人數據庫。他們中的大多數是預定義的,可以被認爲是綁定的,但有一些不是。我們會將這些字段中的一個稱爲「組」。目前,我們實現它的方式是(每個文件/聯繫人有「羣體」字段):對象數組與對象的Mongo索引
'groups' : {
152 : 'hi',
111 : 'group2'
}
但一些閱讀後,我就把它似乎我應該這樣做:
'groups' : [
{ 'id' : 152, 'name' : 'hi' },
{ 'id' : 111, 'name' : 'group2' }
...
]
和然後應用索引db.contact.ensureIndex({'groups.id':1});
我的問題是關於功能。這兩種結構之間有什麼區別,以及索引是如何建立的(它是簡單地在每個文檔/聯繫人中索引,還是構建一個包含所有文檔/聯繫人所有組的全面索引?)。
我很喜歡這種假設,這在結構上是最好的方式,但如果我不正確,請告訴我。
這是一個很好的答案,但前兩個鏈接被打破。我一直在尋找,我無法在網上找到他們的新位置。任何幫助? – portforwardpodcast 2014-01-04 05:46:25
嗨,通過閱讀你的迴應,我想知道是否索引將用於查詢像'db。 .find({「groups」:{$ elemMatch:{「id」:152}}})' –
2016-09-16 10:44:14