Схема -> Форма -> couchDB?

Как (самым простым способом) реализовать следущее (возможно, есть что-то готовое):


1. Делаем схему, что-нибудь вроде Имя, описание, вес, фото (аттач)

2. Деплоим ее

3. Пользователи видят форму, заполняют ее

4. в CouchDB появляется документ с данными.
  • Вопрос задан
  • 2571 просмотр
Пригласить эксперта
Ответы на вопрос 2
В голову приходит только такой вариант:
-создаем документ например type=«myForm» содержащий кроме всего прочего массив полей:
{

type:«myForm»,
fields:[
{
name:«Имя»,
type:«textbox»,
id:«itemName»,
required:true

},

]

}
-на стороне обработчика (на серверной, либо если вы не используете сервер а работаете с CouchDB прямо из яваскрипта, то там) выбираем этот документ (например создав view по типам)
-Генерируете форму пробегаясь по массиву, отдаете пользователю. Для этого нужно будет написать код для генерации полей нужных вам типов.
-После заполнения, если это необходимо, контролируете заполнение, выбрав снова документ схемы из кауча, пробегаете по массиву пришедших данных, вырезая из него поля которых нет в схеме и контролируете значения не соответствие схеме.
-загоняете новые данные в кауч.

Но я бы вам советовал трижды подумать прежде чем использовать кауч. На виндоус по крайней мере у меня куча проблем с ним была. Сначала натолкнулся на баг Erlang, ограничивающий максимальный размер файла четырьмя гигами (http://wiki.apache.org/couchdb/Installing_on_Windows) Его пофиксили, но пока нашел фикс, пока накатил… Потом база сама начала рассыпаться при достижении файлом индексов размера 6-8Гб. Раза 2-3 было. Может конечно из-за того, что я сервер перезагрузил во время перегенерации view, но все равно это не хорошо. А если бы там критичная бизнес информация лежала, а сервер по питанию кто-нибудь передернул? В общем я ему теперь не очень доверяю.
Ответ написан
akalend
@akalend
программирую
надо понимать что couchDB — это хранилище данных, мало чем отличающееся по назначению от других хранилищ. По этому поход везде одинаков:
— разрабатываем модель данных
— на любом известным Вам языке пишем программу, которая реализует форму ввода.
— вводим данные, проверяем их на соответствие модели, если нет ошибок сохраняем данные в хранилище.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы