在CouchDB中查找重复的文档

时间:2017-09-07 07:59:06

标签: javascript couchdb

我会在CouchDB数据库中使用Futon找到重复条目,所以我想使用该函数:

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

我的文档中有json结构:

{
  "_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"
  }
}

在我的情况下,重复的条目是多个文档如何重复json字段:

  

device_num

  

NUM

现在,如果我搜索文档,我会执行以下操作:

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

我得到两个结果,但这是错误的,因为

  

device_num

  

NUM

应该是唯一的。所以我必须检查我的CouchDB上是否有更多重复的文件

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解这个问题,但试试这个并让我知道它是否适用于您的情况:

地图:

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

减少

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