Optimizing for Document Growth just when using MMAPv1 engine
If the document growth is predictable, manually padding the documents will prevent moves, making writes faster.
Manual padding is basically create large fields to allocate the necessary space padding for the document growth.
For example, imagine we have.
Ex.: { _id: ObjectId(), restaurantName: "Fratelli", userId: ObjectId(), tags: []}
Tags fields grow as user add new tags. If we know the size is around 100kb we can add a field to hold the space and remove it after when updating.
Ex.: { _id: ObjectId(), restaurantName: "Fratelli", userId: ObjectId(), tags: [], garbage: "........................................................................................................................................................................................................................."}