2017-09-07 5 views
1

Je voudrais trouver les entrées de doublons dans ma base de données CouchDB utilisant Futon, je voudrais utiliser la fonction:Trouver des documents dupliqués dans CouchDB

function(doc) { 
    if (condition){ 
     emit([doc.type], doc); 
    } 
} 

J'ai cette structure json dans mes documents:

{ 
    "_id": "09a00ad8xxxxxxxxxxxxxxxxxx", 
    "_rev": "2-e8da23aba404864xxxxxxxxxxxxx", 
    "device_num":56, 
    "plantation": { 
    "id": 36, 
    "name": "AGRUPATION2" 
    }, 
    "creation_date": "26/04/2017", 
    "revisionCauces": false, 
    "integridad": false, 
    "updated": "2017/04/26 12:22", 
    "created": "user2", 
    "completed": false, 
    "num": 2278, 
    "group": { 
    "id": 6, 
    "name": "ZONE 4" 
    } 
} 

une entrée dupliquée, dans mon cas, est plus d'un document a répété comment les json champs:

device_num

et

num

maintenant Si je recherche un document que je fais quelque chose comme:

function(doc) { 
    if (doc.type == "work" && doc.num == 1667 && doc.device_num == 8){ 
     emit([doc.type], doc); 
    } 
} 

-je obtenir deux résultats, mais c'est quelque chose mal parce que

device_num

et

num

doit être unique. Je dois donc vérifier s'il y a des documents plus dupliqués sur mon CouchDB

Répondre

0

Je ne suis pas sûr que je comprends la question, mais essayez et laissez-moi savoir si elle est utilisable pour votre cas:

Carte:

function(doc) { 
    emit([doc.device_num, doc.num], doc._id); 
} 

Réduire:

function(keys, values, rereduce) { 
    return values; 
} 
+0

Merci, je viens de modifier et d'ajouter plus d'informations, est plus clair ou non ¿? – JoCuTo