Ich habe eine Ansicht, aber habe Dokumente aus den Ergebnissen der Ansicht wie folgt verdoppelt, wie kann ich die doppelten Ergebnisse erhalten und die einzigartige? Vielen Dank im Vorausgibt es eine Möglichkeit, den Duplikationsdatensatz von den Ergebnissen zu löschen?
{
"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"
},
]
}
Die Ansicht wie diese
function(doc) {
if(doc){
for (var i in doc.item){
emit(doc.item[i].key,doc);
}
}
}
Ansicht von ...._ Ansicht genannt
ist/duplizieren? key = "12345"ich diesen Fehler immer hatte, wenn Führen Sie die folgende Reduzierung aus: "Fehler": "reduce_overflow_error", "Grund": "Reduzieren der Ausgabe muss mehr schrumpfen rapid:
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;
}
Können Sie bitte den Code zeigen, wo Sie die Daten vorbereiten, bevor Sie sie zur Ansicht schicken? –
Hallo Emre, danke, ich habe nicht den Code, ich möchte nur Karte oder reduzieren usw. Funktion in Couchdb verwenden, um die gleichen anderen Dokumente mit dem angegebenen Schlüssel loszuwerden – Jamesjin