От документацията:
Mongoose присвоява на всяка от вашите схеми виртуален идентификатор, който по подразбиране връща полето _id на документи, прехвърлено към низ, или в случай на ObjectIds, неговия шестнадесетичен низ.
И така, по принцип id getter връща низово представяне на _id на документа (който се добавя към всички документи на MongoDB по подразбиране и има тип по подразбиране ObjectId ).
По отношение на това кое е по-добро за препращане, това зависи изцяло от контекста (т.е. искате ли ObjectId или string ). Например, ако сравнявате id 's, низът вероятно е по-добър, като ObjectId 's няма да преминат тест за равенство, освен ако не са един и същи екземпляр (независимо каква стойност представляват).