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

quel est le véritable objectif de $ref (DBRef) dans MongoDb

Fondamentalement, un DBRef est un ObjectID auto-descriptif auquel un assistant côté client, qui existe dans tous les pilotes (je pense que tous), offre la possibilité au sein de votre application d'obtenir facilement les lignes associées.

Ils ne sont pas :

  • JOIN
  • Relations en cascade
  • Relations côté serveur
  • Côté serveur résolu

Ils ne sont pas non plus utilisés dans Map Reduce, la fonctionnalité a été supprimée en raison de complications liées au sharding.

Cependant, il n'est pas toujours agréable de les utiliser, car ils prennent un peu d'espace si vous connaissez la collection liée à cette ligne par rapport au stockage de l'ObjectID. Non seulement cela, mais en raison de la façon dont ils sont résolus, chaque enregistrement lié doit être chargé paresseux un par un à la place s'il est possible de former une plage (facilement) pour interroger les lignes liées en une seule fois, afin qu'ils puissent augmenter le nombre de requêtes vous faites également à la base de données, augmentant à son tour les curseurs.