Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/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
Javascript 使用futon map程序在couchdb中连接两个不同的文档?_Javascript_Mapreduce_Couchdb - Fatal编程技术网

Javascript 使用futon map程序在couchdb中连接两个不同的文档?

Javascript 使用futon map程序在couchdb中连接两个不同的文档?,javascript,mapreduce,couchdb,Javascript,Mapreduce,Couchdb,我有两份文件如下: { "_id": "00315fd5428d43a19ce86ae7a273085f", "_rev": "3-031e613837bf7e9c75f8bc9f5230d921", "device_sno": "WEC343", "moving_status": true, "overall_status": true, "temperature": "-1° C", "trip_id":3 } { "_id": "1a",

我有两份文件如下:

{
   "_id": "00315fd5428d43a19ce86ae7a273085f",
   "_rev": "3-031e613837bf7e9c75f8bc9f5230d921",
   "device_sno": "WEC343",
   "moving_status": true,
   "overall_status": true,
   "temperature": "-1° C",
   "trip_id":3
}

{
  "_id": "1a",
  "_rev": "4-e876b14dcb4cfd18aba8eb36b2be33bd",
  "customer_name": "praneeth",
  "customer_id": 2,
  "tripp_id": 3
}
现在,根据第一个doc中的trip id,我想从doc2中获取客户名称。 有人能帮我解决这个问题吗,这对我会有很大帮助………

你可以使用

如果您发出一个具有{u id':XXX}的对象值,那么include_docs=true将获取id为XXX的文档,而不是经过处理以发出键/值对的文档

这意味着,如果一个文档包含其他文档的ID,它也会导致在视图中获取这些文档,如果需要的话,这些文档也会与同一个键相邻

如果您稍微更改文档的架构,并在第一个文档中包含第二个文档的
\u id
字段,如下所示

{…,{“trip_id”:“要获取的文档的id”}

然后可以定义一个视图,如

function(doc){
 emit(doc.key,{"_id":doc.trip_id});//doc.key is the key on which you want your view to be sorted.
}
现在可以这样查询了

http://localhost:5984/db_name/_design/ddoc_name/_view/view_name?key=“某些值”&include\u docs=true


这将获取链接的文档。这里需要注意的重要一点是emit中的第二个参数必须指向要获取的文档。在您的情况下,
trip\u id
必须指向第二个文档的
\u id

很抱歉,我在emit函数中犯了一个错误。你能再试一次吗?现在应该可以了。我在本地的沙发数据库上测试过。还有一个疑问…?不,你不能跨数据库加入。