2014-12-30 4 views
1

Я перехожу из SQL в Couch DB из своего веб-приложения, моего самого первого приложения.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) ; 

    } 
} 

ПИД2 это число, которое будет обеспечиваться передним конечным пользователем.

<?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 
?> 

ответ

7

Пусть ваш взгляд испускают документы с doc.pid как ключевой

function(doc) { 
    emit(doc.pid, doc); 
} 

и использовать параметр key, чтобы получить нужный документ:

http://localhost:5984/<database>/_design/<designdoc>/_view/<viewname>?key=<pid2> 

Это должно вернуть все документы с doc.pid === pid2 ,

Смежные вопросы