Запуск скрипта/запроса ко всем документам в базе данных/представлении CouchDB

Недавно я открыл для себя CouchDB, и он идеально подходит для того, над чем я работаю сегодня. Работа с интерфейсом Futon и вызов http API работают плавно, но чего-то не хватает.

Во время разработки моего приложения я иногда хочу применить некоторые изменения ко всем документам в базе данных. В качестве упрощенного примера скажем, что все мои документы имеют поле с именем «тип», и я решил выбрать строки в качестве типа вместо чисел.

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

Другим примером может быть удаление всех документов, которые относятся к определенному условию.

Идеальным решением был бы какой-то движок, который может вызывать функцию javascript для каждого документа, и я могу вернуть новое значение для документа.

Это существует?


person W. Goeman    schedule 26.08.2012    source источник


Ответы (1)


Все, что вам нужно, уже есть: API. Обратите внимание, что Futon также является лишь оболочкой для API.

Не уверен, какое промежуточное ПО вы используете (node?, php?), но если вы знакомы с API, вам будет легко:

  1. Получить все документы
  2. Изменить тип поля (строка вместо числа)
  3. Сохраните документы (используйте _bulk_docs)
person Aron Woost    schedule 27.08.2012
comment
Я точно знаю, как использовать API, но то, что я хочу сделать сейчас, — это просто «быстрая» операция. Я не хочу писать какой-либо дополнительный (получать документы, сохранять документы, ...) код только для выполнения массовой операции. - person W. Goeman; 28.08.2012
comment
Нет, такого инструмента на диване нет. - person Aron Woost; 28.08.2012
comment
Я буду знать, какой инструмент я буду писать в ближайшем будущем;) Спасибо за ответ - person W. Goeman; 28.08.2012