Проблема, с которой мы столкнулись, заключается в том, что нам приходится делать представления вручную из GUI кушетки, но это была довольно громоздкая задача, поэтому этот блог о том, как делать представления автоматически.
В этом блоге мы узнаем, как создать скрипт команд curl и просто запустить этот скрипт для создания представлений, и представления будут автоматически созданы на сервере Couchbase.
Теперь вам не нужно создавать представления вручную, просто запустите файл сценария, и он будет создан автоматически, поэтому вам не нужно создавать представления вручную на промежуточном сервере, и это можно легко сделать, просто запустив простой файл сценария.
Для создания проектного документа и видов из файла сценария:
Во-первых, вы должны создать файл .ddoc, имя файла должно совпадать с именем проектного документа, который вы хотите создать.
Затем внутри этого файла .ddoc вам нужно написать json для создания представления.
Его формат будет таким:
{"просмотры":{"электронная почта":{"карта":"функция (документ, мета) {\n emit(doc.email,meta.id);\n}"}}}
Где электронная почта — это имя представления, а карта имеет функцию, которую мы пишем в представлениях.
Если вы используете функции Javascript внутри своего представления, вы можете соответствующим образом изменить значение функции.
{"views":{"name":{"map":"function (doc, meta) {\n if(doc.email!=null){\n emit(doc.email,doc.name);\n}\n}"}}}
Если вы используете функцию уменьшения, вы также можете указать ее в том же json, используя элемент уменьшения.
Например:
{"views":{"name":{"map":"function (doc, meta) {\n if(doc.email!=null){\n emit(doc.email,doc.name);\n}\n}","reduce":"_stats"}}}
Если вы хотите сделать более одного представления внутри документа дизайна, вы можете соответствующим образом изменить json.
(doc, meta) {\n if(doc.email!=null){\n emit(doc.email,doc.name);\n}\n}","reduce":"_stats"},"code":{\n emit(doc.name,null);\n}}}
Затем сохраните этот файл с именем emailDocument.ddoc.
Так, например, теперь у вас есть
Дизайн-документ: emailDocument
Имя просмотра: электронная почта
Теперь для создания этого представления создайте файл сценария, например: curl.sh
И внутри файла сценария напишите эту команду:
curl -X PUT -H ‘Тип контента: application/json’ http://Администратор:‹пароль›@localhost:8092/user-account/_design/dev_email -d @email.ddoc
А затем сохраните этот файл.
И теперь, когда вы выполняете этот скрипт с помощью команды ./curl.sh
Это автоматически сделает представление в Couchbase.
И он даст вам ответ json, если он будет успешно составлен. JSON будет похож
{"ok":true,"id":"_design/dev_emailDocument"}