我正在从我的Web应用程序中将SQL从Couch DB转移到我的第一个应用程序。
虽然我不能说为什么我不喜欢SQL查询,但不确定我不喜欢,让CURL请求访问我的数据库声音的想法必须比使用PHP PDO更好。
我花了一天半的时间试图熟悉沙发DB HTTP API。我无法声称我已经彻底阅读了API,但是在开始编码之前谁彻底阅读了API。所以我的,可能是愚蠢的问题是 - how do I pass an variable other than doc to a map function while making a http request to the view.
API清楚地说地图函数只接受一个参数,即" doc",在这种情况下,下面的函数本身是错误的,但我可以&找不到API中允许我使用最终用户提供的输入查询数据库的任何部分。
我的地图功能是
function(doc, pid2){
if (doc.pid === pid2)
{
emit(doc._id, doc) ;
}
}
pid2是由前端用户提供的数字。
<?php
$pid2 = file_get_contents(facebook graphi api call_returns a Profile ID) ;
$user_exists = HTTP request to couch DB view to return
in JSON format the list of JSON documents with pid = $pid2
?>
答案 0 :(得分:7)
让您的视图以doc.pid
作为键
function(doc) {
emit(doc.pid, doc);
}
并使用key
参数检索正确的文档:
http://localhost:5984/<database>/_design/<designdoc>/_view/<viewname>?key=<pid2>
这应该返回包含doc.pid === pid2
的所有文档。