gpt4 book ai didi

CouchDB映射/归约到数组

转载 作者:行者123 更新时间:2023-12-04 18:13:00 25 4
gpt4 key购买 nike

我有一些看起来像这样的文件:
{userId: 123, msg:{ timestamp:123456, event:"actionA"} }{userId: 123, msg:{ timestamp:123466, event:"actionB"} }etc...
map fn:
emit(doc.userId, [doc.msg])
减少fn:
return [].concat.apply([], vs)
这些功能似乎可以达到我的期望,所以我想我会看到类似以下的输出:
Key: 123, Value: [{timestamp:123456, event:"actionA"}, {timestamp:123466, event:"actionB"}, ...etc...]
但是,我收到一个减少溢出错误,“减少输出必须更快地缩小”。的确,couchdb docs表示“根据经验,reduce函数应减少为单个标量值。” ...“如果您尝试使用reduce“错误的方式”,CouchDB会给您警告。”。

因此,我想我以“错误的方式”使用了Couch MR。进行这种计算的“正确方法”是什么?

最佳答案

我也曾经打过这个。 CouchDB喜欢高大的列表,而不喜欢大的列表。换句话说,您可以在 View 中使用键来获得所需的内容,而不必将它们简化为同一件事。

如果要查看来自userId的所有消息,则不需要reduce函数。只需使用?key=123查询您的 View 。您将看到该userId的所有消息,并且大小不受限制。

如果您对格式不满意(如果只需要更改沙发发送给您的JSON),那么Simon的list函数链接是正确的。

关于CouchDB映射/归约到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9344129/

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