gpt4 book ai didi

couchdb - 出于报告目的“展平”文档层次结构

转载 作者:行者123 更新时间:2023-12-02 02:35:11 28 4
gpt4 key购买 nike

我是 CouchDB 的新手,我只是想评估它在常见任务中的实用性。其中一项任务是生成报告。我的问题是:如果我有这样的文档结构:

{
"_id": "29763f342ab34fd7b579fd4546aaed93",
"_rev": "3-f56dccaa214f3e9fce1e1e3e32e710a2",
"client_id": "sse",
"outcomes": [
{
"contact": "phone",
"type": "phone_outbound",
"attempt": "1",
"provider_id": "123456789",
"status_outbound": "noanswer"
},
{
"contact": "phone",
"type": "phone_outbound",
"attempt": "1",
"provider_id": "123456789",
"status_outbound": "noanswer"
}
]
}

和这样的 map 函数:

function(doc) {
for(i=0;i<doc.outcomes.length;i++)
{
emit(null, {'client_id':doc.client_id,'outcome':doc.outcomes[i]});
}
}

我得到的每个生成行的结果是:

{client_id: "sse", outcome: { contact: "phone", type: "phone_outbound", 
attempt: "1", provider_id: "123456789", status_outbound: "noanswer" }}

而不是

{client_id: "sse", contact: "phone", type: "phone_outbound", 
attempt: "1", provider_id: "123456789", status_outbound: "noanswer"}

在第一个示例输出中看到额外的'outcome:' 和括号了吗?那就是我不想要的。显然我的观点是错误的,但我不知道如何实现我的目标。有人可以帮忙吗? key 需要保持为空。

我没有按名称(即 doc.contact)引用每个字段的原因是我想利用它们的无模式特性。如果我向“结果”添加一个额外的字段,我希望能够在不将其显式添加到 map 函数的情况下报告它。

最佳答案

doc.outcomes[i].client_id = doc.client_id;emit(null, doc.outcomes[i]);

关于couchdb - 出于报告目的“展平”文档层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2205502/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com