Couchdb Cloudant列表函数或单独的reduce

Couchdb Cloudant列表函数或单独的reduce,couchdb,reduce,cloudant,Couchdb,Reduce,Cloudant,所以我知道Cloudant是基于couchdb的。在我返回的一个视图中,我得到了一个包含许多行的列表,例如: {"rows":[ {"key":[2015,10,7,"one"],"value":2}, {"key":[2015,10,7,"two"],"value":1}, {"key":[2015,10,7,"three"],"value":2} .... ]} 上述解决方案行之有效,最初是提出的。然而,现在我的数据集正在显著增长&行数可以达到20k 对于return对象,

所以我知道Cloudant是基于couchdb的。在我返回的一个视图中,我得到了一个包含许多行的列表,例如:

{"rows":[
  {"key":[2015,10,7,"one"],"value":2},
  {"key":[2015,10,7,"two"],"value":1},
  {"key":[2015,10,7,"three"],"value":2}
  ....
]}
上述解决方案行之有效,最初是提出的。然而,现在我的数据集正在显著增长&行数可以达到20k

对于return对象,当然有#行的“计数”。我希望通过couchdb中提到的列表函数来运行该视图的输出,而不是返回所有这些数据

所以我想有几个问题:

  • 有人使用过cloudant中的_列表功能吗
  • 或者,是否有人知道reduce&re reduce函数,该函数只会给我行的长度(即#键的长度?),否则返回所有数据只是为了得到简单的行数需要花费很长的时间

  • 谢谢

    这是的一个实例。这种天真的解决方案无法扩展。但只要您的计算资源大于数据大小,您最终就可以进行精确计算

    _list函数可能不会给您带来任何好处,但我想您可以尝试一下。_list函数仍必须等待收集视图中的所有结果,然后才能执行函数以开始计算unique

    可选地,虽然您的数据大小仍然相对较小,如果它较小,但您可以考虑将您的Cyror数据存储到DASDB并使用SQLSELECT语句(尽管仍有大量的时间来计算)。p>


    在那之后,可以选择运行第二个reduce,或者更好的是,使用HyperLogLog库/算法来准确、及时地估计您的不同计数是否开始变大。

    我不确定我是否理解您的问题。但是,如果只想获得视图中的总行数,而不返回任何数据,则可以使用
    limit=0
    作为参数查询视图

    例如:

    让您了解
    simplegeo_places
    测试数据库有2170万个文档:

    {“总计行数”:21735117,“偏移量”:0,“行数”:[
    ]}
    
    请注意,
    total_rows
    是视图中的总行数,而不是在未指定
    limit=0的情况下返回的行数


    PS:是的,Cloudant确实支持列表函数,您可以使用
    head
    参数访问
    总计行