MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Quelle est la différence entre id et _id dans mongoose ?

À partir de la documentation :

Mongoose attribue à chacun de vos schémas un getter virtuel d'id par défaut qui renvoie le champ _id des documents converti en chaîne, ou dans le cas d'ObjectIds, son hexString.

Donc, en gros, le id getter renvoie une représentation sous forme de chaîne du _id du document (qui est ajouté à tous les documents MongoDB par défaut et a un type par défaut de ObjectId ).

En ce qui concerne ce qui est mieux pour le référencement, cela dépend entièrement du contexte (c'est-à-dire, voulez-vous un ObjectId ou une string ). Par exemple, si vous comparez id 's, la chaîne est probablement meilleure, comme ObjectId ne réussiront pas un test d'égalité à moins qu'ils ne soient la même instance (quelle que soit la valeur qu'ils représentent).