The id property of a mongoose object is the string representation of its _id property, which is an ObjectId obj.id === obj._id.toString(). However, the id property of the ObjectId is some other string that I do not understand the meaning obj.id !== obj._id.id
Anyway, I would never think to use obj._id.id when working with the model itself, but it gets very ugly when you are working with references and compares like this: obj.reference.toString === referencedObj.id
Thanks in advance