J'ai une vue mais j'ai eu des documents dupliqués à partir des résultats de la vue comme suit, comment puis-je obtenir les résultats en double et obtenir l'unique? merci d'avanceest-il un moyen d'effacer les enregistrements de duplication à partir des résultats?
{
"total_rows": 9,
"offset": 0,
"rows": [
{
"id": "xxxx",
"key": "12345",
"value": {
"_id": "abc123",
"_rev": "4-8db4da81d1e20afcea0a328fb16e7ec8",
"field1": "abc",
"field2": "dfr"
},
{
"id": "xxxx",
"key": "12345",
"value": {
"_id": "abc123",
"_rev": "4-8db4da81d1e20afcea0a328fb16e7ec8",
"field1": "abc",
"field2": "dfr"
},
]
}
La vue est comme ce
function(doc) {
if(doc){
for (var i in doc.item){
emit(doc.item[i].key,doc);
}
}
}
vue appelé par ...._ vue/double? key = "12345"
J'ai toujours eu cette erreur lorsque exécutez la commande suivante: "erreur": "reduce_overflow_error", "raison": "Réduire la sortie doit réduire plus rapidement:
function (keys, values, rereduce) {
var uniqueKey = [];
var newValues = [];
for (var i=0; i<values.length; i++) {
if (uniqueKey.indexOf(values[i]._id)==-1) {
uniqueKey.push(values[i]._id);
newValues.push(values[i]);
}
}
return newValues;
}
Pouvez-vous indiquer le code dans lequel vous préparez les données avant de les envoyer? –
Salut Emre, merci, je n'ai pas le code, je veux juste utiliser la fonction map ou reduce etc dans couchdb pour me débarrasser des mêmes documents avec la clé donnée – Jamesjin