我知道,通过REST API,可以指定“限制”参数(例如?极限= 5),以限制结果的数量从一个给定的视图返回在CouchDB中。使用“限制”在CouchDB中查看地图功能参数
我的问题是是否有一种方法可以在视图内部的map函数中执行此操作......?
我知道,通过REST API,可以指定“限制”参数(例如?极限= 5),以限制结果的数量从一个给定的视图返回在CouchDB中。使用“限制”在CouchDB中查看地图功能参数
我的问题是是否有一种方法可以在视图内部的map函数中执行此操作......?
对您的具体问题的答案是“否”。
地图功能被应用于每一个文档中的数据库和减少功能,如果定义的话,被施加到每一个减少的结果。认为预先计算。
您在URL中提供的查询参数应用到B +树,你的MapReduce功能建设。例如,如果您说?limit=5
,那么树中最左边的五个叶子将用作结果。或者如果你说?limit=5&descending=true
那么树中最右边的五个叶子就被用作结果。
但是,你正在试图通过在地图的功能做了?limit=5
完成什么可能会以不同的方式来实现。例如,您的应用程序可能会在文档中包含某些内容,使其有条件地包含在结果中。或者强制只有五个文件被标记在索引中,尽管这很麻烦,并且根据数据库的大小而定,成本很高。
干杯。
如果你的UUID是连续的(你可以检查你的配置),你可能可以利用它本身来查看前五个文档。
它不可能为map
功能。因为地图将分别处理每个文档,并可能同时在任何单独的节点上进行处理。它根本不知道其他文件
但我认为你想要的可能与reduce
。减少会在地图功能做完所有事情之后运行并具有所有结果。所以,你可以从map
以任何方式
简而言之修改的结果,你可以使用reduce
对行分组使用相同的密钥,那么你可以调整每个组(如果我没记错的话在rereduce
)到只有5个结果
你能提供更多的信息吗?您想做什么? – 2012-04-04 19:22:16