Will NaN entries consume much space?

If the field will never receive a value for certain document, I feel it is better to leave the field out rather than having a null or NaN value. Space wise even, if the value does not take a lot of space, the field also take some.

However, if the field will eventually receive a value, I feel it is better to have the field. Otherwise, when the field is not present, you may incur the cost of having to move the document on disk during an update if the block containing the document is not big enough for the new field and value. More or less, you reserve the space for further update. This also tells me that sometime this field is used for this document. This way I can locate the related code.

I do not know enough about the storage engines to know for sure but I have a good feeling about this.