2011-06-22 8 views
2

Qu'est-ce que le chargement paresseux dans MongoDb? Si nous voulons créer une base de données, il est fait comme:Chargement paresseux dans MongoDb

m.getDB(<dbName>).getCollectionNames() 

en raison seulement le chargement paresseux. Quelqu'un peut-il expliquer?

+0

La question n'est pas claire. S'il vous plaît, donnez un autre exemple de ce que vous voulez savoir. Et qu'est-ce que la création de bases de données a à voir avec le chargement paresseux? – Thilo

+0

Ceci est répondu ici: http://stackoverflow.com/questions/3989791/lazy-loading-in-mongodb-with-norm J'espère que vous trouverez l'explication utile. Merci – kheya

Répondre

6

Le chargement différé n'est pas une fonctionnalité de la base de données elle-même. Tout ce que cela signifie est que lorsque le client émet une requête via un pilote (ou l'ORM), l'ORM peut choisir de ne pas charger le graphe d'objet entier lorsque la requête est faite. Il peut choisir de rendre la requête à la base de données uniquement lorsque l'objet résultant est réellement utilisé/accédé.

Ceci est encore une fois, indépendant des bases de données qui peuvent être utilisées, et est quelque chose qui est généralement intégré dans l'ORM lui-même. Ceci est fait pour des raisons d'optimisation/performance, si une partie du graphe d'objets n'est pas toujours accessible, alors c'est bien si on le charge paresseux dans les deux cas où il est réellement accédé. Maintenant, cela signifie qu'il y aura une requête que l'ORM se déclenche pour charger ces données sur l'accès, puis retourner l'appel au code client.

Il appartient généralement au développeur de l'application de spécifier quelles propriétés/parties du graphe d'objets doivent être chargées avec impatience et lesquelles doivent être chargées paresseusement. Maintenant, gardez à l'esprit que certaines options nosql peuvent avoir des fonctionnalités ORM qui nous permettent de le faire, mais le scénario le plus courant où vous verrez cela dans le monde RDBMS, et où les ORM complets sont très courants.

Vous pouvez rechercher les capacités de chargement paresseux/chargement paresseux d'hibernate pour avoir une meilleure idée du concept en général.

+0

ORM est un terme pour les bases de données SQL SEULEMENT. Hibernate a créé OGM pour les bases de données basées sur des documents. – MoienGK