Question

Je pense que lu quelque part que lorsqu'une vue est demandée est la seule courir « carte » dans les documents qui ont été ajoutés depuis la dernière fois il a été demandé? Comment cela est-il déterminé? Je pensais que je voyais quelque chose au sujet d'un numéro de séquence. Est-ce quelque chose que vous pouvez obtenir? Sa ne fait pas partie de l'UUID de fuite sur le champ _rev est-il?

Une manière de forcer un « recalcul » de l'ensemble de vue (dans tous les enregistrements)?

Était-ce utile?

La solution

La section sur les index des vues dans la Présentation technique est un excellent guide pour ce .

Le constructeur de vue utilise la séquence base de données ID pour déterminer si le groupe de vue est entièrement à jour avec la base de données. Dans le cas contraire, le moteur de vue examine les tous les documents de base de données (dans un ordre séquentiel) ont changé depuis tassé la dernière actualisation. Les documents sont lus dans l'ordre où ils se produisent dans le fichier de disque, ce qui réduit la fréquence et le coût de têtes de disque.
Comme les documents sont examinés, leurs valeurs précédentes lignes sont supprimées des index de vue, si elles existent. Si le document est sélectionné par une fonction de vue, les résultats de la fonction sont insérés dans la vue comme une nouvelle ligne.

CouchDB vérifie d'abord pour voir si quoi que ce soit a changé dans la base de données entière en utilisant un identifiant de séquence (qui est mise à jour chaque fois qu'il ya un changement à tout document dans la base de données). Si quelque chose a changé va chercher ces documents et exécute la fonction de la carte sur eux.

Il ne devrait vraiment pas besoin de reconstruire / régénérer vos points de vue car il progressivement rafraîchir lorsque vous modifiez vos documents (notez qu'il ne sera pas mise à jour de la vue jusqu'à ce que vous utilisez bien). Avec chapeau dit d'une façon (et je suis sûr qu'il ya une meilleure façon) serait de supprimer le document de conception décrivant la vue et l'insérer de voir à nouveau en tant que document de conception est pas différent (presque) d'un document normal.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top