Mongo technically only requires indexes to fit in memory, but in practice if your data doesn't fit in memory, performance is abysmal. We also use short names, but find that it's not terrible for readability because we use class constants representing each name, so what's the key for a playlist name? Why it's Playlist::KEY_NAME. We also have a function that renames the fields from their short mongo names to their full names when they get loaded in, so the vast majority of the time, nobody even needs to worry about the mongo key names.