2016-11-22 3 views
0

Я стучал головой о стену здесь. Я не могу получить параметр строки запроса key, чтобы выбрать определенную строку при запросе документов. Вот скрипт для запуска против свежей базы данных, которая показывает, что я могу запросить все документы, но не может выбрать только один ее ключом:Невозможно получить параметр строки запроса `key`, чтобы выбрать конкретную строку.

#!/usr/bin/env bash -ex 

# Create a database. 
curl -X PUT http://localhost:5984/names 

# Add a few documents. 
curl -X POST -H 'Content-Type: application/json' -d '{"name":"joe"}' http://localhost:5984/names 
curl -X POST -H "Content-Type: application/json" -d '{"name":"frank"}' http://localhost:5984/names 

# Add a view function. 
curl \ 
    -X PUT \ 
    -H 'Content-Type: application/json' \ 
    -d '{ "views": { "by_name": { "map": "function (doc) { if (doc.name) { emit(doc.name, doc.name.toUpperCase()) } }" } } }' \ 
    http://localhost:5984/names/_design/docs 

# Querying all the documents works. 
curl -X GET http://localhost:5984/names/_design/docs/_view/by_name 

# Selecting one of those documents by key does not work. 
curl -X GET http://localhost:5984/names/_design/docs/_view/by_name?key=frank 

Насколько я могу сказать, я, следуя примеру в первом абзаце раздела "Find One" документов CouchDB.

ответ

1

Ваш ключ должен быть закодирован в JSON, поэтому вместо этого используйте key="frank". (как в примере)

+0

Darn. Я уже пробовал это, но не понял, что мне нужно избежать кавычек в командной строке. Благодаря! – pe8ter

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