Operator OUTPUT MONGODB umożliwia zapis danych do bazy danych MongoDB. Na wejściu operatora znajduje się strumień danych w postaci magistrali, z którego dane są przekształcane na dokumenty zgodne z modelem kolekcji MongoDB. Operator pozwala na skuteczne zapisanie przetworzonych rekordów do wskazanej kolekcji w bazie MongoDB.
Operator obsługuje różne typy danych i konwersję formatów zgodnie ze strukturą dokumentów MongoDB.
Zastosowania operatora OUTPUT MONGODB:
- trwałe przechowywanie wyników przetwarzania danych w formie dokumentów,
- integracja systemu GRAVITY z bazami MongoDB,
- umożliwienie dalszego wykorzystania danych przez aplikacje korzystające z MongoDB,
- elastyczne mapowanie bitów magistrali na pola dokumentów w kolekcji.
Operator jest niezbędny wszędzie tam, gdzie dane pochodzące z procesów przetwarzania w GRAVITY mają być trwale zapisane i udostępnione w środowisku NoSQL MongoDB.
Przykład projektu GRAVITY z użyciem operatora OUTPUT MONGODB.
WYBÓR I TWORZENIE POŁĄCZENIA MONGODB
Operator OUTPUT MONGODB wymaga połączenia do bazy danych MongoDB. Jeśli masz już utworzone połączenie, możesz je wybrać z połączeń na zakładce Connection, w polu Connection.
Po wybraniu połączenia pola definicji połączenia zostaną uzupełnione zgodnie z definicją wybranego połączenia.
Możesz zmienić dane połączenia za pomocą przycisku Edit.
Jeśli nie masz jeszcze zdefiniowanego Twojego połączenia do bazy MongoDB w systemie, możesz je dodać za pomocą przycisku Add.
Po uzupełnieniu danych nowego połączenia możesz je przetestować przyciskiem Test connection i zapisać w systemie.
Po zapisaniu połączenie będzie dostępne w systemie pod nazwą podaną w polu Name.
KONFIGURACJA OPERATORA
W pierwszym kroku należy zdefiniować strukturę dokumentu, który będzie zapisywany w bazie danych MongoDB.
W tym celu wybierz opcję DEFINE BSON SCHEME na zakładce Document format. Umożliwia ona przejrzyste zbudowanie struktury dokumentu na podstawie magistrali danych.
Strukturę formatu tworzysz, przeciągając elementy (drag and drop) z obszaru Busbar do obszaru BSON nodes w wybrane miejsce, a także przenosząc je w przeciwnym kierunku lub korzystając z przycisków nawigacyjnych.
Konfigurując obiekt BSON należy zaznaczyć bit magistrali, który jest kluczem głównym w danych wejściowych do operatora OUTPUT MONGODB (w opcji Action for document = Always add new document oznaczenie klucza głównego nie jest wymagane).
Bit magistrali danych będący kluczem głównym musi znajdować się w tworzonym obiekcie BSON. Klikając myszką na bit możesz określić pole Is PK w obszarze Element properties.
_id), przechowujące wartość typu ObjectId.
Jeżeli pole dokumentu zostanie nazwane _id, ale nie zostanie oznaczone jako klucz główny, zostanie ono pominięte i nie trafi do zapisywanego dokumentu.
Jeżeli natomiast pole _id zostanie oznaczone jako klucz główny i będzie zawierać poprawną wartość typu ObjectId, wartość ta zostanie użyta jako identyfikator dokumentu i serwer MongoDB nie wygeneruje nowego klucza.
W przypadku, gdy pole _id zawiera dane niezgodne z typem ObjectId, operacja zakończy się błędem.Kolejnym krokiem jest określenie miejsca i sposobu zapisu danych do bazy MongoDB (zakładka Properties).
- Collection name → Wybór kolekcji, do której będą zapisywane dokumenty. Możesz dodać nową kolekcję do bazy, wpisując jej nazwę w pole ręcznie.
- Action for document → Sposób zapisu danych do bazy. Masz do wyboru dwie opcje, i od tego, którą opcję wybierzesz, zależeć sposób postępowania z duplikatem dokumentu:
- Always add new document
- Add new document or update existing
- Action for the same document → Opcja dostępna tylko dla Add new document or update existing. W ten sposób możesz określić, czy modyfikacja już istniejących dokumentów ma być dozwolona - wybierając opcję Pass - czy zablokowana, poprzez wybór opcji Skip.
- Pass → Operator przekazuje do wykonania operację na bazie wszystkich dokumentów.
- Skip → Operator przekazuje do wykonania operację zapisu tylko dla dokumentów, które jeszcze nie istnieją w bazie danych (na podstawie pól PK).
- Bit for result object id → Bit z magistrali, na którą zostanie wyprowadzony wygenerowany przez bazę danych MongoDB klucz
ObjectId(pole_idw dokumencie).
Operator zapisuje do bazy docelowej każdy dokument wygenerowany na podstawie konfiguracji formatu BSON. Konfiguracja PK w edytorze BSON nie jest wymagana.
Operator rozpoznaje po bitach wchodzących w skład klucza głównego tworzonego dokumentu, czy dokument jest już w wybranej kolekcji bazy MongoDB.
→ Jeśli tak, modyfikuje istniejący dokument.
→ Jeśli nie, dodaje nowy dokument do bazy.