Couchdb 在Fauxton中学习mapreduce
我是noSQL、couchDB和mapreduce的新手,需要一些帮助 我在这里讨论了同样的问题{},但不明白答案:( 我有一个工作地图功能:Couchdb 在Fauxton中学习mapreduce,couchdb,fauxton,Couchdb,Fauxton,我是noSQL、couchDB和mapreduce的新手,需要一些帮助 我在这里讨论了同样的问题{},但不明白答案:( 我有一个工作地图功能: function (foo) { if(foo.type == "blog post"); emit(foo) } 它返回11个单独的文档。我想修改它以返回foo.type和计数1。 我试过: function (doc) { if(doc.type == "blog post"); return count(doc) } 以及R
function (foo) {
if(foo.type == "blog post");
emit(foo)
}
它返回11个单独的文档。我想修改它以返回foo.type和计数1。
我试过:
function (doc) {
if(doc.type == "blog post");
return count(doc)
}
以及Reduce面板中的“_count”,但显然我做错了什么,因为视图没有返回任何内容
提前感谢您的帮助或指导!Map
因此,当您构建一个映射函数时,您实际上是在创建一个词汇表或映射,它是关键:值数据结构
映射函数应该发出要查询的键。您也可以发出值,但如果您只想获取关联文档,则不必发出任何值。为什么?因为有一个查询参数可用于返回关联文档(?include_docs=true
)
减少
然后,您可以使用reduce函数,该函数将为具有相同键的每个结果调用。具有相同键的每个结果都将通过reduce函数进行处理以减少值
改正的例子
因此,在您的例子中,您希望映射文档,我想是每种类型的文档
您可以创建一个函数,该函数发出具有类型
属性的文档
function(doc){
if(doc.type)
emit(doc.type);
}
如果查询此视图,您将看到每行的键都将是文档的类型。如果选择\u count
reduce函数,则应具有每种类型的文档数
查询视图时,必须指定:group=true&reduce=true
此外,通过使用以下参数进行查询,您可以获得类型为blog post
的所有文档:?key=“blog post”
Map
因此,当您构建一个映射函数时,您实际上是在创建一个词汇表或映射,它是关键:值数据结构
映射函数应该发出要查询的键。您也可以发出值,但如果您只想获取关联文档,则不必发出任何值。为什么?因为有一个查询参数可用于返回关联文档(?include_docs=true
)
减少
然后,您可以使用reduce函数,该函数将为具有相同键的每个结果调用。具有相同键的每个结果都将通过reduce函数进行处理以减少值
改正的例子
因此,在您的例子中,您希望映射文档,我想是每种类型的文档
您可以创建一个函数,该函数发出具有类型
属性的文档
function(doc){
if(doc.type)
emit(doc.type);
}
如果查询此视图,您将看到每行的键都将是文档的类型。如果选择\u count
reduce函数,则应具有每种类型的文档数
查询视图时,必须指定:group=true&reduce=true
此外,您还可以通过查询以下参数来获取所有类型的文档:
?key=“blog post”
,在Fauxton中,Reduce步骤有点笨拙且不直观
在Fauxton中,Reduce步骤有点笨拙和不直观
非常感谢。我花了几个小时在CouchDb上尝试Google返回的关于Map Reduce的所有内容,看到这里没有提到其他地方。Martin Bramwell-嘿,不客气。很高兴帮助这里的人,因为这一直是我理智的主要来源。:)是的,在我不知怎么搞明白之前,这件事让我发疯了。祝你好运。我真的很好奇你对一个在我脑后唠叨的小秘密的看法。每当我读到关于“离线第一”、客户端数据库、“类似于本机的web应用程序”等的文章时,PockDB就被列为这方面的首选启用工具包。。。然而,最近在PockDB周围似乎没有更多的活动,文档有地雷,论坛帮助似乎只来自像我这样的N00B。发生什么事了?马丁·布拉姆威尔-我不知道。不熟悉数据库,谢谢。现在,我想知道是什么促使了这种设计选择。在Fauxton中,应用reduce函数的可能性被隐藏起来一定是有原因的。非常感谢。我花了几个小时尝试谷歌在CouchDb中返回的关于Map Reduce的所有内容,看到这里没有提到其他地方。Martin Bramwell-嘿,不客气。很高兴能帮助这里的人们,因为这一直是我保持理智的主要源泉。:)是的,在我还没弄明白之前,那件事就让我发疯了。祝你好运。我真的很好奇你对一个在我脑后唠叨的小秘密的看法。每当我读到关于“离线第一”、客户端数据库、“类似于本机的web应用程序”等的文章时,PockDB就被列为这方面的首选启用工具包。。。然而,最近在PockDB周围似乎没有更多的活动,文档有地雷,论坛帮助似乎只来自像我这样的N00B。发生什么事了?马丁·布拉姆威尔-我不知道。不熟悉数据库,谢谢。现在,我想知道是什么促使了这种设计选择。在福克斯顿,应用reduce的可能性肯定是有原因的