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