как отличить кушетку

Я хочу создать представление в cb, которое будет отображать некоторые данные на основе ввода диапазона дат.

У меня вопрос: как отличить поле от данных? Вот мой код карты:

function (doc, meta) {
  if(!doc.clipGeneration.fromCache){
    var eiid = doc.clipGeneration.batchId;
    if (eiid == null){
        eiid = "API";
    }
    if (  !(doc.clipGeneration.externalId.indexOf("API_INTERVAL_TEST")>=0) )   {
    emit([doc.clipGeneration.clipStyle, eiid,doc.eventOccurenceTimeStamp[0], doc.eventOccurenceTimeStamp[1], doc.eventOccurenceTimeStamp[2],doc.eventOccurenceTimeStamp[3]], doc.insertRawTimestamp);
        emit([doc.clipGeneration.clipStyle, "ALL",doc.eventOccurenceTimeStamp[0], doc.eventOccurenceTimeStamp[1], doc.eventOccurenceTimeStamp[2],doc.eventOccurenceTimeStamp[3]], doc.insertRawTimestamp);
    emit([doc.eventOccurenceTimeStamp[0], doc.eventOccurenceTimeStamp[1], doc.eventOccurenceTimeStamp[2],doc.clipGeneration.clipStyle], doc.insertRawTimestamp);
    }
  }
}

Уменьшение равно _count, а фильтры, например, следующие:

startkey: [2015,1,1, null]

endkey: [2015,1,31, "\ uffff"]

Результат соответствует ожидаемому диапазону дат:

{"key":[2015,1,11,"5001188"],"value":1},
{"key":[2015,1,12,"100022"],"value":5},
{"key":[2015,1,12,"155"],"value":11},
{"key":[2015,1,13,"100022"],"value":9},
{"key":[2015,1,13,"155"],"value":6},
{"key":[2015,1,13,"5001159"],"value":1},
{"key":[2015,1,13,"5001190"],"value":3},
{"key":[2015,1,14,"100022"],"value":12},
{"key":[2015,1,14,"5001194"],"value":1},
{"key":[2015,1,15,"100022"],"value":11},
{"key":[2015,1,16,"100022"],"value":10},
{"key":[2015,1,18,"100022"],"value":8},
{"key":[2015,1,18,"5001096"],"value":6},
{"key":[2015,1,18,"5001194"],"value":3}

Но, как вы видите, "100022" повторяется много раз, как я могу сделать что-то вроде отдельного в sql, чтобы оно отображалось только один раз?

Спасибо


person Elad    schedule 13.04.2015    source источник


Ответы (1)


Фактически невозможно сделать ТОЛЬКО поле идентификатора искаженным. Вы можете уменьшить по ключу, но только по всему ключу - так что [date, id] в вашем случае. Вы можете сделать это в N1QL, потому что в нем есть ключевое слово DISTINCT, как и в SQL, но оно все еще находится в предварительной версии для разработчиков.

person David Ostrovsky    schedule 21.04.2015