0
votes

Est-ce une mauvaise pratique de définir l'ID d'objet Mongodb sur une «chaîne» au lieu de «schema.types.objectid»?

Je veux savoir si cela peut affecter les performances ou d'autres questions importantes en termes de fonctionnalité, en particulier lors de la recherche de documents dans une collection MongoDB

J'ai fait ce P>

_id: {
    type: Schema.Types.ObjectId,
    required: true
},


0 commentaires

3 Réponses :


0
votes

Pas de performance, mais lorsque vous avez plus de deux modèles et qu'ils ont leur association, alors comment pouvez-vous lier entre eux. Il est donc nécessaire. Et vous n'avez pas à définir manuellement (écrire) comme vous l'avez fait, Mongodb crée automatiquement le _ID.


0 commentaires

0
votes

_ID est créé automatiquement!

Si vous référencez une autre table Utilisez «TABLE_ID» (ou un autre nom de clé) et donnez le type comme schema.types.Objectid ou schema.Objectid. P>

const ObjectId = Schema.ObjectId;

user_id: { type: ObjectId, ref: 'User' }


0 commentaires

0
votes

stocker des cordes plutôt que des objectifs fait de performances blessibles.

Objectids sont plus petits que les chaînes équivalentes (elles sont une valeur binaire de 12 octets plutôt qu'une valeur de chaîne UTF-8 de 24 caractères), de sorte qu'elles prennent moins d'espace en mémoire.

Mongo est vraiment rapide lorsque les index et les documents figurent dans l'ensemble de travail (c'est-à-dire en mémoire) afin de réduire l'empreinte de données, vous pouvez vous assurer que plus de documents restent en mémoire. Ceci est particulièrement important car les champs d'identification dont vous parlez sont souvent inclus dans les index.


0 commentaires