Baza danych CouchDB jest dostępna w trakcie trwania ćwiczeń pod adresem: http://awing.kis.agh.edu.pl:5984 Uwaga: baza danych dostępna tylko po uwierzytelnieniu. Login i hasło na zajęciach.
Do wykonania poniższych ćwiczeń wykorzystaj dowolną znaną Ci technologie komunikacji z wykorzystaniem HTTP: curl
, telnet
, netcat
, PHP, Java…
cURL można pobrać ze strony: http://curl.haxx.se/download.html , najlepiej tą wersję: https://curl.se/windows/dl-7.80.0/curl-7.80.0-win64-mingw.zip - proszę otworzyć archiwum zip, wewnątrz w katalogu bin
znajduje się plik curl.exe
- proszę go rozpakować do katalogu w którym domyślnie pracuje powłoka cmd.
Jeżeli do uruchamiania cURL używana jest powłoka CMD w systemie Windows (cmd.exe
) należy użyć innych ograniczników łańcuchów znaków dla wyrażeń JSON, niż te podane na wykładzie.
Przykładowo, zamiast:
curl ... -d '{"klucz":"wartosc"}'
należy zastosować:
curl ... -d "{\"klucz\":\"wartosc\"}"
Utwórz bazę danych o nazwie skłądającej się z Twojego nazwiska i pierwszej litery imienia.
Sprawdź, czy baza danych została utworzona.
Do zrealizowania poniższego ćwiczenia użyj Futon/Fauxton: http://awing.kis.agh.edu.pl:5984/_utils lub CURL i linii poleceń.
Do Twojej bazy danych dodaj przynajmniej trzy dokumenty. Każdy z nich reprezentuje „wpis w kalendarzu”. Wpis posiada datę, treść, oraz wartość liczbową określającą ważność: 0 - najważniejsze, 1 - mniej ważne itd.
Do zrealizowania poniższego ćwiczenia użyj przeglądarki WWW, albo CURL i linii poleceń.
Do zrealizowania poniższego ćwiczenia użyj Futon/Fauxton: http://awing.kis.agh.edu.pl:5984/_utils lub CURL i linii poleceń.
startkey
oraz endkey
.Do zaprogramowania widoków użyj
Jeżeli korzystasz z CURL i zapisałeś widok w postaci Design Document (JSON) w pliku przyklad.json
:
{ "language": "javascript", "views": { "widok": { "map": " function(doc) { emit('klucz', 'wartosc') } " } } }
możesz umieścić go jako widok stały w bazie danych moja_baza_danych
:
curl -X PUT http://awing.kis.agh.edu.pl:5984/moja_baza_danych/_design/przyklad -H "Content-Type: application/json" -d @przyklad.json
Do w/w widoku możesz się odwołać za pomocą:
curl -X GET http://awing.kis.agh.edu.pl:5984/moja_baza_danych/_design/przyklad/_view/widok
Załóżmy, że w treści wpisów może wystąpić „hashtag”, czyli łańcuch znaków poprzedzony znakiem „#”. Żeby móc przeszukiwać wpisy po w/w hashtagach zbuduj widok, który zwróci informacje o hastagach i w jakich wpisach występują, razem z treścią takiego wpisu.
Do zaprogramowania widoku możesz rozbudować poniższy kod. Możesz go również przetestować w konsoli narzędzi deweloperskich przeglądarki.
const tresc = 'Czas na #wagary?\nA może jednak #szkola?'; const regex = /#[a-zA-Z0-9]+/g; const found = tresc.match(regex); found.map(function (x) {console.log(x)})