MongoDB - pomoc do laboratorium

Podobne dokumenty
MongoDB. Narzędzia, transakcje, referencje

Bazy dokumentów. MongoDB

MongoDB. Narzędzia i biblioteki

MongoDB. wprowadzenie. dr inż. Paweł Boiński, Politechnika Poznańska

Obsługa pakietu biurowego OFFICE

SQL (ang. Structured Query Language)

Bash - wprowadzenie. Bash - wprowadzenie 1/39

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Podstawowe zapytania SELECT (na jednej tabeli)

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

Wdrożenie modułu płatności eservice. dla systemu Magento

Systemy GIS Tworzenie zapytań w bazach danych

Bazy danych. Polecenia SQL

Baza numerów Wersja 1.1

Aktualizacja SMSFall v Data publikacji:

Bloki anonimowe w PL/SQL

Wykład 5: PHP: praca z bazą danych MySQL

Sprawozdanie. (notatki) Sieci komputerowe i bazy danych. Laboratorium nr.3 Temat: Zastosowanie protokołów przesyłania plików

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

NoSQL Not Only SQL, CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Igor Wojnicki

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

Zapytania do baz danych

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2)

Języki skryptowe w programie Plans

Lokalizacja Oprogramowania

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Tworzenie bazy danych w środowisku OpenOffice.org Base tabela, formularz, kwerenda, raport

Sprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się.

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Paweł Cieśla. Dokumentacja projektu

Autor: Joanna Karwowska

QualitySpy moduł persystencji

PHP: bazy danych, SQL, AJAX i JSON

Wprowadzenie do Doctrine ORM

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Spotkania z wiedzą webinarium

INFORMATYKA Studia Niestacjonarne Elektrotechnika

5. Współpraca z bazą danych MySQL

plansoft.org Zmiany w Plansoft.org Błyskawiczny eksport danych PLANOWANIE ZAJĘĆ, REZERWOWANIE SAL I ZASOBÓW

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Projekt Hurtownia, realizacja rejestracji dostaw produktów

ACCESS ćwiczenia (zestaw 1)

BAZY DANYCH. Obsługa bazy z poziomu języka PHP. opracowanie: Michał Lech

Powłoka bash. Kurs systemu Unix 1

MS Excel 2007 Kurs zaawansowany Obsługa baz danych. prowadzi: Dr inż. Tomasz Bartuś. Kraków:

Administracja bazami danych

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

Stosowanie poleceń związanych z zarządzaniem plikami oraz katalogami: nazwa_polecenia -argumenty ścieżka/ścieżki do katalogu/pliku

Import danych z plików Excel. (pracownicy, limity urlopowe i inne)

Korespondencja seryjna

5.5. Wybieranie informacji z bazy

Rozwiązanie. Uruchom program Access 2007.

System operacyjny Linux

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

Konfiguracja INWENT 5

Język SQL. Rozdział 2. Proste zapytania

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

Pracownia Komputerowa wykład III

Technologie Informacyjne - Linux 2

PRZEBIEG LABORATORIUM

Laboratorium 2: Portfolio zdjęciowe, p.2

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Bazy danych kwerendy (moduł 5) 1. Przekopiuj na dysk F:\ bazę M5KW.mdb z dysku wskazanego przez prowadzącego

Podstawy używania konsoli tekstowej w systemie Linux. Andrzej Zbrzezny

Zapytania i wstawianie etykiet z bazy danych do rysunku

Oracle11g: Wprowadzenie do SQL

Projektowanie systemów baz danych

BIURO USŁUG INFORMATYCZNYCH "T-SOFT"

Kwerendy, czyli zapytania. Opracowała: I. Długoń

BAZY DANYCH. Co to jest baza danych. Przykłady baz danych. Z czego składa się baza danych. Rodzaje baz danych

5. Bazy danych Base Okno bazy danych

2017/2018 WGGiOS AGH. LibreOffice Base

QUERY język zapytań do tworzenia raportów w AS/400

Linux: System Plików

Wybierz polecenie z menu: Narzędzia Listy i dokumenty

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Znaki globalne w Linuxie

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Widok Connections po utworzeniu połączenia. Obszar roboczy

Technologie informacyjne lab. 4

Wybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

Rysunek 178. Programowanie monitorów KDS

PODSTAWOWE POJĘCIA BAZ DANYCH

Podstawy języka SQL Co to jest SQL? Możliwości SQL SQL*Plus

Bazy Danych i Usługi Sieciowe

Transkrypt:

ongodb - pomoc do laboratorium 1/19 MongoDB - pomoc do laboratorium Technologie Zarządzania Treścią dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej i Stosowanej

MongoDB - pomoc do laboratorium 2/19 Importowanie danych do MongoDB Importowanie danych zawartych w plikach JSON poleceniem mongoimport Przykład: mongoimport --db test --collection restaurants --drop --file restaurants-dataset.json Polecenie mongoimport: wstawia dokumenty do bazy test, do kolekcji restaurants, jeśli kolekcja restauracje już istaniała to zostanie usunięta: --drop, dane zawarte w pliku restaurants-dataset.json, parametr --file, dane w pliku to lista dokumentów nie oddzielonych przecinkiem, łączy się z mongod uruchomionym na localhost, port 27017, parametry --host i --port w razie potrzeby.

MongoDB - pomoc do laboratorium 3/19 Exportowanie danych z MongoDB Exportowanie danych znajdujących się w bazie MongoDB mongoexport Przykład: mongoexport --db test --collection restaurants --query '{"dzielnica":"bronx"}' --fields dzielnica,adres --out bronxrestaurants.json Polecenie mongoexport: zapisuje kolekcję restaurants z bazy test w pliku tekstowym, dane zapisywane są w pliku bronxrestaurants.json, parametr --out, (domyślnym formatem jest JSON), parametr --query pozwala wprowadzić zapytanie w formacie JSON ograniczające liczbę dokumentów pobranych z kolekcji, parametr --fields pozwala określić, które pola dokumentu mają być eksportowane, łączy się z mongod uruchomionym na localhost, port 27017, parametry --host i --port w razie potrzeby.

MongoDB - pomoc do laboratorium 4/19 Wybrane polecenia w mongo shell I Polecenia w mongo: help - wyświetla pomoc, klawisz TAB dopełnia polecenia, show dbs - wyświetla listę baz, use test - przełącza na bazę test, show collections - wyświetla listę kolekcji, db.help() - wyświetla listę dostępnych metod dla bazy danych, db.dropdatabase() - uwuwa bieżącą bazę danych, db.getname() - wyświetla nazwę bieżącej bazy, db.stats() - wyświetla statystyki bieżącej bazy, db.hostinfo() - informacje o serwerze, db.version() - wyświetla wersję serwera.

MongoDB - pomoc do laboratorium 5/19 Wybrane polecenia w mongo shell II Polecenia w mongo: db.osoby.help() - wyświetla listę dostępnych metod dla kolekcji osoby, db.osoby.count() - wyświetla liczbę dokumentów w kolekcji, db.osoby.find() - wyświetla zawartość kolekcji osoby, db.osoby.find({"imie":"wojciech"}) zwraca te dokumenty, które spełniają warunek, db.osoby.remove() - usuwa dokumenty z kolekcji, db.osoby.drop() - usuwa kolekcję osoby z bazy danych, db.osoby.insert({ "imie": "Wojciech", "nazwisko": "Paluch", "dataur": "1985/07/14", "kraj": "Polska" }) - wstawia dane do kolekcji, db.osoby.getindexes() - wyświetla informacje o indeksach kolekcji osoby.

MongoDB - pomoc do laboratorium 6/19 Polecenia systemowe w mongo shell Polecenia systemowe w mongo shell: ls() - lista zawartości bieżącego katalogu jako tablica JSON, listfiles() - lista zawartości bieżącego katalogu, jako tablia JSON, każde pole to obiekt (nazwa, wielkość, czy jest katalogiem), pwd() - pokazje bieżący katalog, cd() - zmiana katalogu, np. cd("pulpit"), cd(".."), cat() - wyświetla zawartość pliku, np. cat("plik.json"), mkdir() - tworzy katalog, np. mkdir("templates"), removefile() - usuwa plik, katalog, np. removefile("abc.json"), exit, quit() - wyłącza mongo shell.

MongoDB - pomoc do laboratorium 7/19 Skrypty w mongo shell Skrypty w mongo shell: korzystają z poleceń mongo shell i języka JavsScript, uruchamiamy z terminala: mongo [--quiet] < skrypt.js Przykład 1: skrypt.js use lab06 print('liczba dokumentów w kolekcji osoby, polecenie:'); db.osoby.count() Przykład 2: skrypt.js - wykorzystanie języka JavaScript print('nazwy wszystkich osób z kolekcji'); var cursor = db.osoby.find( {}, {_id:0,nazwa:1} ) while (cursor.hasnext()) { print(tojson(cursor.next())); }

MongoDB - pomoc do laboratorium 8/19 Restauracje - przykładowy dokument { "_id" : ObjectId("5667127503cc04bb98aabd9b"), "adres" : { "numer" : "1007", "wspolrzedne" : [ -73.856077, 40.848447 ], "ulica" : "Morris Park Ave", "kod" : "10462" }, "dzielnica" : "Bronx", "jedzenie" : "Bakery", "oceny" : [ { "data" : ISODate("2014-03-03T00:00:00Z"), "ocena" : "A", "punkty" : 2 }, { "data" : ISODate("2013-09-11T00:00:00Z"), "ocena" : "A", "punkty" : 6 }, { "data" : ISODate("2013-01-24T00:00:00Z"), "ocena" : "A", "punkty" : 10 } ], "nazwa" : "Morris Park Bake Shop", "rest_id" : "30075445" }

MongoDB - pomoc do laboratorium 9/19 Pobieranie danych Wyszukiwanie danych - metoda find(): db.kolekcja.find(<zapytanie>, <projekcja>) oba parametry są opcjonalne, <zapytanie> określa kryteria wyboru dokumentów z kolekcji brak parametru <zapytanie> albo pusty dokument ({}) zwraca całą kolekcję, <projekcja> określa, które pola dokumentu mają być zwrócone, zwrócenie całej zawartości dokumentu poprzez opuszczenie parametru <projekcja>.

MongoDB - pomoc do laboratorium 10/19 Pobieranie danych Pobieranie danych: wszystkie zapytania mają zasięg pojedynczej kolekcji, find() zwraca wyniki w postaci kursora - obiekt, po którym iterujemy zawierający dokumenty, find() w mongo shell automatycznie iteruje wyniki kursora wyświetlając po 20, polecenie it wyświetla kolejne 20 wyników. Pobieranie wszystkich dokumentów: db.restaurants.find() - pobiera listę wszystkich restauracji, db.restaurants.count() - zwraca liczbę dokumentów w kolekcji, db.restaurants.find().pretty() - lista restauracji, ładne formatowanie JSONa.

ongodb - pomoc do laboratorium 11/19 Parametr <projekcja> <projekcja> to dokument w postaci: { pole1: <boolean>, pole2: <boolean>... } Z parametrem <projekcja> dokument zwracany przez find() zawiera: pola wyróżnione w projekcji oraz pole id, pole id można wykluczyć, domyślnie jest uwzględniane, wartość logiczna <boolean> może mieć wartość: 1 albo true dla uwzględnienia pola w metodzie find(), 0 albo false dla wykluczenia pola. projekcja zawiera albo tylko wykluczenia albo tylko uwzględnienia parametrów, jedynym wyjątkiem jest parametr id, przykłady dla kolekcji restaruracji: db.restaurants.find({},{nazwa:1}) - dokumenty z id i nazwą, db.restaurants.find({},{adres:0,oceny:0}) - wszystko poza adresem i ocenami db.restaurants.find({},{ id:0,adres:1}) - sam adres, bez pola id

MongoDB - pomoc do laboratorium 12/19 Zapytania, warunki równościowe Dokumenty będące zapytaniem z warunkiem równościowym mają formę: { <pole1>: <wartosc1>, <pole2>: <wartosc2>,... } dla pól najwyższego poziomu (bezpośrednio w dokumencie) nazwę pola można wziąść w cudzysłów albo go pominąć: db.restaurants.find( { dzielnica: "Manhattan"} ) db.restaurants.find( { "dzielnica": "Manhattan"} ) dla pól niższego poziomu (zagnieżdżonych w dokumencie) używamy notacji kropkowej, trzeba użyć cydzysłowu: db.restaurants.find( { "adres.kod": "10075"} ) analogicznie odwołujemy się do zagnieżdżonych tablic: db.restaurants.find( { "oceny.ocena": "B"} )

MongoDB - pomoc do laboratorium 13/19 Zapytania, określanie warunków z operatorami Zapytania z określeniem warunku generalnie mają formę: { <pole1>: { <operator1>: <wartosc1> } } Przykłady: restauracje - przynajmniej jedna z ocen większa niż 30: db.restaurants.find( { "oceny.punkty": { $gt: 30 } } ) restauracje - oceny nie zwierają kategorii B : db.restaurants.find( { "oceny.ocena": { $ne: "B"} } )

MongoDB - pomoc do laboratorium 14/19 Zapytania, operatory porównania Operatory porównania: $eq - wartości równe podanej wartości, $gt - wartości większe niż podana wartość, $gte - wartości większe lub równe podanej wartości, $lt - wartości mniejsze niż podana wartość, $lte - wartości mniejsze lub równe podanej wartości, $ne - wartości różne od podanej, $in - dopasowuje dane zawierające którąkolwiek z wartości podanych w tablicy, np.: db.testowa.find( { tab:{ $in:[1,3] } } ) $nin - dopasowuje wszystkie dane nie zawierające wartości podanych w tablicy.

MongoDB - pomoc do laboratorium 15/19 Zapytania, operatory logiczne Operatory logiczne: $or - łączy klauzule zapytania logicznym OR, zwraca dokumenty spełniające którąkolwiek z klauzul, $and - łączy klauzule zapytania logicznym AND, zwraca dokumenty, które spełniają wszystkie klauzule, $not - negacja logiczna, zwraca dokumenty, które nie spełniły warunków utworzonego zapytania, $nor - łączy klauzule zapytania logicznym NOR, zwraca dokumenty, które nie spełniły obu klauzul zapytania.

MongoDB - pomoc do laboratorium 16/19 Zapytania, łączenie warunków, operator AND Zapytania z warunkiem łączonym AND, oddzielone przecinkiem: { <pole1>: <wartosc1>, <pole2>: <wartosc2>,... } restauracje - ocena mniejsza niż 10 AND kod pocztowy równy 10462: db.restaurants.find({ "oceny.punkty":{ $lt:10 }, "adres.kod":"10462" }) Zapytania z warunkiem łączonym AND, operator $and, warunki w tablicy: { $and: [ {<pole1>: <wartosc1>}, {<pole2>: <wartosc2>},... ] } restauracje - ocena mniejsza niż 10 AND kod pocztowy równy 10462: db.restaurants.find({ $and:[ {"oceny.punkty":{$lt:10} }, {"adres.kod":"10462"} ] })

MongoDB - pomoc do laboratorium 17/19 Zapytania, łączenie warunków, operator OR Zapytania z warunkiem łączonym OR, operator $or, warunki w tablicy: { $or: [ {<pole1>: <wartosc1>}, {<pole2>: <wartosc2>},... ] } restauracje - ocena mniejsza niż 10 OR kod pocztowy równy 10462: db.restaurants.find( { $or:[ {"oceny.punkty": {$lt:10} }, {"adres.kod": "10462"} ] } )

MongoDB - pomoc do laboratorium 18/19 Zapytania, metody limit() i skip() cursor.limit() określa liczbę dokumentów zwracaną przez kursor, nie pobieramy więcej niż jesteśmy w stanie przetworzyć. Przykład - pobranie pierwszych 7 restauracji: db.restaurants.find().limit(7) cursor.skip() określa liczbę początkowych pominiętych dokumentów, można wykorzystać do tworzenia przeglądania danch stronami. Przykład - lista restauracji bez pierwszych 5: db.restaurants.find().skip(5)

MongoDB - pomoc do laboratorium 19/19 Zapytania, sortowanie wyników Określenie kolejności danych wyjściowych - metoda sort(): db.kolekcja.find().sort( { kryterium1, kryterium2,... } ) Do metody sort() przekazujemy dokument zawierający: Przykład: pola, po których sortujemy, typ sortowania: 1 - porządek rosnący, -1 - porządek malejący. restaruracje uporządkowane najpierw malejąco po nazwach dzielnic i następnie rosnąco po kodzie pocztowym: db.restaurants.find().sort( { "dzielnica": -1, "adres.kod": 1 } )