在我看來,當你創建一個蒙戈文件,並有現場{key, value}
它有時不會有一個值,你有兩個選擇:存儲空VS不存儲密鑰MongoDB中所有
- 寫
{key, null}
即在該領域 - 寫null值,不要在文件中的密鑰存儲在所有
兩個選項是可查詢容易在一個您查詢{key : null}
另您查詢{key : {$exists : false}}
。
我不能真正想到在應用場景中會產生任何影響的兩個選項之間的任何差異(除了選項2的存儲略少)。
任何人都可以告訴我,如果有任何理由,寧願兩種方法之一,而爲什麼?
編輯
要求也發生,我認爲指數可能表現不同的兩種情況,即稀疏索引可以選擇2創建,但我仍然試圖比較和了解的問題後這兩種方法中的全部索引考慮是什麼。
對於什麼是值得的,「稍微小一點的存儲」在巨大的規模上可能更重要,特別是當你談論內存中工作集的大小時。 – Christopher