有没有办法在地图功能中合并两个以上的文档?

时间:2019-05-04 23:21:31

标签: join view mapreduce couchdb

我了解CouchDB不适用于关系数据库,但是请告诉我,如果您的数据模型中具有超过2级层次结构的用例,是否有解决方案?

我已经审阅了以下两篇文章,而答案并没有回答我的问题: CouchDB multi level view map function? Couchdb join two documents using key

我有一个文档A,其中包含一个文档B的列表,其中包含一个文档C的列表,其中包含一个文档C的列表,其中包含一个文档D的列表。每个列表都是_id的数组。

我尝试了forEach列表和for循环,但了解如果我以doc A为根,则只能访问doc B,而不能访问B之外。

CouchDB multi level view map function? Couchdb join two documents using key

和列表功能

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]});
                            }
                        }


                    }
                }
            }

        }
    }
}

我希望视野平坦。

0 个答案:

没有答案