JSON.stringify обикновено не премахва празни обекти, така че това е специфично за mongoose.
Бих препоръчал да опитате .toObject() или .toJSON()
http://mongoosejs.com/docs/api.html#document_Document-toObject
Този ще бъде извикан по време на .stringify, така че вероятно е това, което изрязва празните обекти.http://mongoosejs.com/docs/api.html#document_Document-toJSON
Затова опитайте първо това:
JSON.stringify(obj.toObject());