De la documentación:
Mongoose asigna a cada uno de sus esquemas un captador virtual de id por defecto que devuelve el campo _id de los documentos convertido en una cadena, o en el caso de ObjectIds, su hexString.
Entonces, básicamente, el id
getter devuelve una representación de cadena del _id
del documento (que se agrega a todos los documentos de MongoDB de forma predeterminada y tiene un tipo predeterminado de ObjectId
).
En cuanto a lo que es mejor para hacer referencia, eso depende completamente del contexto (es decir, desea un ObjectId
o una string
). Por ejemplo, si compara id
's, la cadena es probablemente mejor, como ObjectId
no pasarán una prueba de igualdad a menos que sean la misma instancia (independientemente del valor que representen).