gpt4 book ai didi

javascript - CouchDB:Erlang 函数列表

转载 作者:行者123 更新时间:2023-11-30 16:21:10 25 4
gpt4 key购买 nike

据我所知,CouchDB 允许使用一些集成的 Erlang 函数,例如 sort(和其他东西)。

再次在 JS 中进行文本裁剪,我想:如果 Couch 已经内置了这个功能怎么办?也许 trim 也集成了?有多少功能可以使用?

如果它们已经在 Erlang 中完成,为什么我必须使用慢速 JS 版本?

那么,这就是我的问题:在哪里可以找到 Couch 可用的 JS 函数的完整列表?


结论:只有少数功能可用,没有trim。您可以通过在 couch_query_server.erl 中编写您自己的函数然后从源代码重建 Couch 来测试您的运气。

最佳答案

CouchDB has three built-in reduce functions. These are implemented in Erlang and run right inside CouchDB, so they are much faster than the equivalent JavaScript functions.

它们是 _count , _sum_stats .您可以找到更多详细信息和示例 here .它们在 couch_query_server.erl 中实现文件。

您还可以通过编写 Native Erlang Query Server 使用内置的 Erlang 函数和特性 。但请注意,默认情况下它是禁用的。

CouchDB 文档中用于实现 native Erlang 查询服务器的示例:

%% Map Function
fun({Doc}) ->
<<K,_/binary>> = proplists:get_value(<<"_rev">>, Doc, null),
V = proplists:get_value(<<"_id">>, Doc, null),
Emit(<<K>>, V)
end.

%% Reduce Function
fun(Keys, Values, ReReduce) -> erlang:length(Values) end.

它使用 proplists:get_value/3erlang:length/1 Erlang 标准库中的 MFA(Module Function Arity)。

编辑: This thread可能是似乎已过时的重复项。

关于javascript - CouchDB:Erlang 函数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34722646/

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