На диване у меня есть следующее представление:
function(doc) {
if(doc._id === 'countryMobileNumberCodes') {
Object.keys(doc.dictionary).forEach(function(k, i) {
emit(k, doc.dictionary[k]);
});
}
}
Это выдает следующий результат:
{"total_rows":2,"offset":0,"rows":[
{"id":"countryMobileNumberCodes","key":"1","value":"+265"},
{"id":"countryMobileNumberCodes","key":"2","value":"+27"}
]}
Это же представление на Android (используя Couchbase-lite-Android 1.2.1) не выводит никаких строк. Однако, если бы я изменил представление на это:
function(doc) {
if(doc._id === 'countryMobileNumberCodes') {
emit(doc._id, doc.dictionary);
}
}
Затем я получаю результаты с веб-сайта Couchbase-lite (так что документы определенно существуют на мобильном устройстве).
Реализует ли CouchDB MapReduce иначе, чем Couchbase-lite?
Я видел ссылку на тот факт, что Couchbase-lite и CouchDB совместимы на 100%, но это не так (Couchbase-lite и CouchDB).