2017-06-20 3 views
-1

J'ai une base de données appelée "development-records" qui a une vue MapReduce avec une déclaration "dbcopy" qui crée une vue dans une nouvelle base de données appelée "development-chained". Lorsque nous effectuons une mise à jour de la vue dans "development-records", nous procédons comme suit: 1. Créez une copie du document de conception que nous voulons modifier, par exemple en ajoutant _OLD à son nom : _design/fetch_OLD. 2. Placez le document de conception nouveau ou 'entrant' dans la base de données, en utilisant un nom avec le suffixe _NEW: _design/fetch_NEW. 3. Recherchez la vue fetch_NEW pour vous assurer qu'elle commence à générer. 4. Sondez le point de terminaison _active_tasks et attendez que l'index ait terminé sa construction. 5. Placez une copie du nouveau document de conception dans _design/fetch. 6. Supprimer le document de conception _design/fetch_NEW. 7. Supprimer le document de conception _design/fetch_OLD.Mise à jour de la base de données dbcopy lorsque MapReduce parent modifie

Le problème est que les documents spécifiés dans la base de données dbcopy "development-chained" ne semblent pas être mis à jour - tous les anciens enregistrements restent. Est-il possible de déclencher à nouveau la base de données dbcopy pour exécuter MapReduce?

Répondre

0

Malheureusement, selon le official Cloudant documentation, "La fonction dbcopy peut causer des problèmes dans certaines circonstances." L'utilisation de cette fonctionnalité est fortement déconseillée et a sinon été supprimée de la documentation. J'espère que cela aide un peu. La nouvelle documentation est difficile à trouver.