在我看来,当你创建一个蒙戈文件,并有现场{key, value}
它有时不会有一个值,你有两个选择:存储空VS不存储密钥MongoDB中所有
- 写
{key, null}
即在该领域 - 写null值,不要在文件中的密钥存储在所有
两个选项是可查询容易在一个您查询{key : null}
另您查询{key : {$exists : false}}
。
我不能真正想到在应用场景中会产生任何影响的两个选项之间的任何差异(除了选项2的存储略少)。
任何人都可以告诉我,如果有任何理由,宁愿两种方法之一,而为什么?
编辑
要求也发生,我认为指数可能表现不同的两种情况,即稀疏索引可以选择2创建,但我仍然试图比较和了解的问题后这两种方法中的全部索引考虑是什么。
对于什么是值得的,“稍微小一点的存储”在巨大的规模上可能更重要,特别是当你谈论内存中工作集的大小时。 – Christopher