sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cuál es la diferencia entre id y _id en mongoose?

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).