我了解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]});
}
}
}
}
}
}
}
}
我希望视野平坦。