2017-03-24 1 views
0

Je voudrais utiliser une vue pour calculer un résumé de documents plus volumineux. Chaque document produit par la vue correspond à un document source. La sortie de vue est utilisée pour remplir la table dans l'interface utilisateur, en cliquant sur une ligne de la table ouvre le document plus grand. En cas de conflit dans le document sous-jacent, je souhaite l'afficher dans la ligne du tableau afin que l'utilisateur puisse ouvrir le document complet et résoudre le conflit. Comment puis-je obtenir efficacement les conflits à afficher dans le tableau? (tous les conflits pour les documents sous-jacents)couchdb afficher les conflits de document sous-jacents dans les vues

Merci

Répondre

0

Vous pouvez utiliser l'option de conflits dans les paramètres d'affichage, ainsi que include_docs. Vous pouvez trouver more info about view params in the CouchDB docs.

E.g. http://localhost:5984/mydatabase/_design/documents/_view/posts?conflicts=true&include_docs=true ajoute la propriété _conflicts à chaque document en conflit. Conseil: Dans ce cas, vous n'avez pas besoin d'émettre le document entier dans la vue elle-même, car le paramètre include_docs renvoie malgré tout le document complet.

Une autre possibilité consiste à émettre la propriété _conflicts elle-même. Vous pouvez le faire comme ceci:

function (doc) { 
    if (doc._conflicts) emit(doc._id, doc._conflicts); 
} 

C'est une vue pratique pour trouver uniquement des documents avec des conflits.