2016-12-29 19 views
1

Я читал о проверках (validate_doc_update), мы можем создать на CouchDB, однако я не понял, как я могу их создать. Могу ли я это сделать через Fauxton?Как создать «подтверждение проверки документа» на CouchDB 2?

Databases -> "mydb" -> Design Documents -> New Doc 

Это так? Должен ли я объявлять функцию как строку? Мне нужен пример, пожалуйста (в документах есть шаг за шагом).

Спасибо.

ответ

2

Я понял это. Вот шаг за шагом:

Через Fauxton

Перейдите к: Базы данных -> [выберите имя базы данных здесь] -> Все документы -> New Doc, а затем заполнить текст область с желаемой проверки с использованием шаблонного JSON ниже и нажмите кнопку Сохранить :

{ 
    "_id": "_design/my_validation_name", 
    "validate_doc_update": "function(newDoc, oldDoc, userCtx) {throw({forbidden : 'not able now!'});}" 
} 

Через локон

curl -X PUT http://127.0.0.1:5984/my_database/_design/my_validation_name -d '{"validate_doc_update": "function(newDoc, oldDoc, userCtx) { throw({forbidden: \"not able now!\" });}"}' 

Важно: DocID должны предваряться «_design /» и ключ функции должны быть «validate_doc_update». Обратите внимание на функцию как строку.

После набора проверки, если мы пытаемся создать документ, который вы должны увидеть ошибку «не в состоянии сейчас!» ..

curl -X PUT http://127.0.0.1:5984/my_database/foo -d '{"foo" : "bar"}' 
# {"error":"forbidden","reason":"not able now!"} 
2

написания вручную проектной документации является вариант, вам нужно просто написать его как строка, поскольку JSON не поддерживает функции записи как значения. (как вы обнаружили)

Однако я бы настоятельно рекомендовал использовать другие инструменты для управления вашими проектными документами. В частности, инструмент CLI couchapp и связанные с ним клоны (например: erica) позволяют использовать файловую систему для представления вашего проектного документа. (включая функции просмотра, функции проверки и т. д.)

Вместо использования редактора fauxton/futon (который становится неуклюжим очень быстро, особенно для нетривиальных функций), вы можете написать простой файл .js с вашей функцией проверки и его можно автоматически форматировать и загружать в CouchDB. (то же самое относится к просмотрам, показам/спискам и т. д.)

Использование этого подхода намного проще и безопаснее в обслуживании и что-то, что я настоятельно рекомендую при работе с CouchDB.

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

  • Нет связанных вопросов^_^