Я понимаю, что CouchDB не предназначен для использования реляционной базы данных, но, пожалуйста, скажите, есть ли решение для случая использования более чем двухуровневой иерархии в вашей модели данных?
Я просмотрел следующие два поста, и ответы не отвечают на мой вопрос:
Функция многоуровневого просмотра карты CouchDB?
Couchdb объединяет два документа, используя ключ
У меня есть документ A, который содержит список документов B, который содержит список документов C, который содержит список документов D. Каждый список представляет собой массив _ids.
Я пытался использовать forEach list и for loop, но понимаю, что если я работаю с doc A в качестве корневого, я могу получить доступ только к d B, но не дальше B.
Функция многоуровневого представления карты CouchDB?
Couchdb объединяет два документа, используя клавишу
и список функций
function(doc) {
if (doc.type == "wcgop-trip") {
emit([doc._id, 0], null);
if (doc.operationIDs) {
for (var i in doc.operationIDs) {
if (doc.operationIDs[i].catches) {
for (var j in doc.operationIDs[i].catches) {
if (doc.operationIDs[i].catches[j].species) {
for (var k in doc.operationIDs[i].catches[j].species) {
emit([doc._id, Number(i)+1], {_id: doc.operationIDs[i]}, {_id: doc.operationIDs.catches[j]}, {_id: doc.operationIDs.catches[j].species[k]});
}
}
}
}
}
}
}
}
Я ожидал сплющенного вида.