微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在沙发床db中编写地图功能,将另一个文档插入文档

如何解决在沙发床db中编写地图功能,将另一个文档插入文档

我的CouchDB数据库中有两种类型的文档(doc.doc_type == doc1和doc.doc_type == doc2)

doc1的结构如下:

{
    _id: 123123,_rev:1251231,doc_type: doc1,uid: 1
}

doc 2的结构如下:

 {
     _id: 123123,doc_type: doc2,uid: 1
     docid: 1
 }

我想编写一个视图,在其中整理doc_type为doc1的所有文档,但通过地图功能将doc2作为数组插入doc1中。

我已经编写了这样的map函数,但是它似乎不起作用:

function(doc) {
    var d = []
    if (doc.doc_type == "doc2") {
        d.push(doc)
    }
    if (doc.doc_type == "doc1") {
        var d1 = d.filter(d => {d.uid == doc.uid})
        doc['doc2'] = d1
    }
    emit(doc._id,doc)
}

但这会引发错误。 CouchDB是否可以识别过滤器和映射?我在这里有什么选择?

解决方法

您的JavaScript太过现代(没有=>)。但是我认为您会误解地图的工作方式-只会将其传递给单个文档,因此您无需进行过滤。如果您有doc1,则d数组将始终为空。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。