我正在基于我的项目设计一个数据库,但是我正在考虑分离2个集合,两个集合在文档中都具有相同的3个字段,但是其中一个集合又有3个字段。
如果我不得不将它们组合成一个集合,那么我将在很多文档中添加大量空值。因此,我正在考虑将这两个类别分开,以减少内存消耗。
如果文档中的null值不占用内存,则可以合并它们。
我听说mysql中的null不占用任何空间或内存,但不确定mongo。
答案是什么?
答案 0 :(得分:2)
是的,null
值占用一些空间。主要用于键的名称(因为该字段仍然存在)。
但是
null
值,您可以完全省略键/字段(而不是{_id: 123, name: "test", someData: null}
插入{_id:123, name: "test" }
)。这样就不会占用空间。 答案 1 :(得分:0)
在Mongodb null
中也占用一些空间和内存。
这是BSON类型的一种。
如果您没有字段值,请$unset
字段
空值不会影响排序结果,但与find()
db.coll.find({age:null})
该查询返回集合中的两个文档。
db.coll.find({age:{$type:10}})
此命令将返回字段值为null
的文档。