Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mapreduce 如何通过单个请求从CouchDB仅获取特定文档的特定字段?_Mapreduce_Couchdb_Couchdb Futon - Fatal编程技术网

Mapreduce 如何通过单个请求从CouchDB仅获取特定文档的特定字段?

Mapreduce 如何通过单个请求从CouchDB仅获取特定文档的特定字段?,mapreduce,couchdb,couchdb-futon,Mapreduce,Couchdb,Couchdb Futon,创建一个视图,该视图只返回文档中的一部分值,每个值的键和值都在json字符串中。就像一个给定的视图返回如下文档一样,是否可以为一个请求获取一些字段信息?非常感谢。 { “总行数”:10, “抵消”:3, “行”:[{ “id”:“doc1”, “键”:“abc123”, “价值”:{ “_id”:“aaaa”, “_rev”:“bbb”, “字段1”:“abc”, “字段2”:“bcd”, “字段3”:“cde”, “字段4”:“123”, “字段5”:“789”, “字段6”:aa@emai

创建一个视图,该视图只返回文档中的一部分值,每个值的键和值都在json字符串中。就像一个给定的视图返回如下文档一样,是否可以为一个请求获取一些字段信息?非常感谢。

{
“总行数”:10,
“抵消”:3,
“行”:[{
“id”:“doc1”,
“键”:“abc123”,
“价值”:{
“_id”:“aaaa”,
“_rev”:“bbb”,
“字段1”:“abc”,
“字段2”:“bcd”,
“字段3”:“cde”,
“字段4”:“123”,
“字段5”:“789”,
“字段6”:aa@email.com",
“字段7”:“ttt”,
“字段8”:“iii”,
“字段9”:[{
“field91”:“tyui”,
“字段92”:“55555”
}],
“字段10”:“0000”,
“字段11”:“55555”,
“字段12”:“0030”。。。。。。。。。
}
}
我只想创建一个只返回以下字段的视图:

{
“字段1”:“abc”,
“字段2”:“bcd”,
“字段3”:“cde”,
“字段4”:“123”,
“字段5”:“789”,
“字段6”:aa@email.com",
“字段7”:“ttt”,
“字段8”:“iii”,
“字段9”:[{
“field91”:“tyui”,
“字段92”:“55555”
}]
}

一种映射函数,它只发送带有选定字段的新文档。例如,让我们只映射字段1(字符串)和字段9(数组):

在上面的示例中,每个文档都将被激发,其中一个键是原始文档ID,值是所需的映射字段。 如果您计划稍后添加reduce函数,这将非常有用

根据您的使用情况,您可能只想发射映射对象:

function map(doc) {
  emit({
    field1: doc.field1, 
    field9: doc.field9
  });
}
请看
关于构建数据视图的文档非常好,您可以通过实验发现很多。

非常感谢您的好建议,并在本例中分享学习材料,如果field1是关键,我可以获得选择的9个字段结果,如doc.field1=“aaa”,如下所示:函数映射(doc){emit(doc.field1),{field1:doc.field1,field2:doc.field2,…field9:doc.field9});}并调用http://...viewName?key=“aaa”,结果包括_id、key和值,但如果我只想用doc.field1=“aaa”获取所有选定字段的值,没有像key和_id那样包括在内,我应该怎么做?我不认为你可以避免那些从CouchDB回来的字段。但是在客户端“去掉”这些字段应该不难,例如:映射到另一个对象(我想使用javascript,如果这是一个web应用的话?)谢谢你,这不是网络应用,我只是在couchdb futon上做了一些练习,我想从结果中“去掉”像_id、key和value这样的第一个字段:,:{“id”:“xxxx”,“key”:“xxxx”,“value”:………..顺便说一句,我可以知道你的电子邮件或其他我可以与你联系的人吗?希望你能建议我,为什么我不能在couchdb中运行结果,如下面的地图,有什么问题吗?函数(doc){var json_data=doc;json_data=json_data.rows;for(var i=0;ifunction map(doc) { emit({ field1: doc.field1, field9: doc.field9 }); }