---
title: Mapowanie danych w bazach NoSQL
date: 2021-11-26
categories:
  - database
  - database-mapping
  - json
tags:
  - data-conversion
  - mapforce
  - nosql-data-mapping
  - nosql-databases
description: MapForce oferuje wsparcie dla mapowania i konwersji danych z baz danych NoSQL, umożliwiając ich wstawianie, wyodrębnianie, filtrowanie i sortowanie.
---
Status: #blog

Tags:  #data-conversion #mapforce #nosql-data-mapping #nosql-databases

Categories: [database + sql](/blog/pl/category/database-sql.md) | [data-integration](/blog/pl/category/data-integration.md) | [json](/blog/pl/category/json.md)
# Mapowanie danych w bazach NoSQL

Bazy danych NoSQL to bazy danych, które nie przechowują danych w formie tabelarycznej, w przeciwieństwie do tradycyjnych baz danych opartych na relacyjnych tabelach. Dwie z najpopularniejszych baz danych NoSQL, MongoDB i Apache CouchDB, przechowują dane jako zbiory dokumentów w formacie BSON (binarny JSON) i JSON. Te bazy danych wykorzystują elastyczne schematy JSON i łatwo skalują się, obsługując duże ilości danych oraz wysokie obciążenie użytkowników.

Program Altova MapForce od dawna obsługuje [mapowanie danych](https://www.altova.com/pl/mapforce) w popularnych bazach danych relacyjnych, a teraz oferuje również natywne wsparcie dla mapowania danych w bazach danych NoSQL. MapForce zawiera funkcje umożliwiające wstawianie, wyodrębnianie, filtrowanie i sortowanie danych NoSQL. Przyjrzyjmy się przykładowi.

![](/blog/images/cbcr_blog_2.jpg)

<!--more-->

Poniżej znajduje się pełne odwzorowanie danych z przykładowej bazy danych NoSQL MongoDB o nazwie "sample_analytics". To odwzorowanie pobiera fragment danych w formacie binarnym JSON (BSON) z wielu kolekcji, łączy, filtruje, przekształca i sortuje te dane, a następnie eksportuje wynik jako pojedynczy dokument JSON.

[![Mapowanie danych z baz danych NoSQL do formatu JSON – przykład](/blog/images/complete-NoSQL-JSON-mapping-1-1030x624.png)](complete-NoSQL-JSON-mapping-1.png)

Baza danych NoSQL sample\_analytics jest przykładem hostowanym na publicznie dostępnym serwerze chmurowym MongoDB Atlas i przechowuje dane treningowe dla przykładowej aplikacji usług finansowych. Baza danych zawiera kolekcje dokumentów w formacie BSON, zawierające informacje o 500 klientach, 1746 kontach oraz 1746 transakcjach kupna lub sprzedaży.

Mapowanie baz danych NoSQL w programie MapForce rozpoczyna się od wybrania bazy danych NoSQL za pomocą kreatora połączenia z bazą danych w MapForce i wprowadzenia parametrów połączenia. Następnie można wybrać kolekcje, które mają zostać zmapowane:

[![Wybór zbiorów danych do mapowania z bazy danych NoSQL](/blog/images/insert-database.png)](insert-database.png)

Każda kolekcja wymaga schematu JSON do mapowania jej obiektów. Schemat może być zdefiniowany w bazie danych w celu weryfikacji, lub może być przechowywany w zewnętrznym pliku.

[![Przypisanie schematu JSON do kolekcji w celu mapowania danych](/blog/images/assign-schema.png)](assign-schema.png)

Oto rozszerzone widoki obiektów znajdujących się w kolekcjach "klienci" i "transakcje", gotowych do mapowania danych NoSQL w programie MapForce:

[![Widok kolekcji NoSQL, gotowych do mapowania danych](/blog/images/NoSQL-source.png)](NoSQL-source.png)

Po zdefiniowaniu schematu JSON lub dostarczeniu przykładowego pliku JSON dla docelowego formatu wyjściowego, możemy przystąpić do łączenia obiektów z bazy danych z tym formatem. Baza danych NoSQL MongoDB przechowuje dane JSON w formacie binarnym. Biblioteka funkcji MapForce zawiera wbudowane funkcje do manipulacji danymi BSON:

[![MapForce zawiera wbudowane funkcje do manipulacji danymi w formacie BSON](/blog/images/bson-functions.png)](bson-functions.png)

Baza danych zawiera informacje o klientach, w tym adresy e-mail z domen gmail, hotmail i yahoo. Nasz projekt mapowania ma jednak za zadanie pobierać dane tylko dla klientów z adresami e-mail kończącymi się na "@yahoo.com". Oczywiście, w bazach NoSQL nie ma zapytania SQL typu "Select / Where" do filtrowania adresów e-mail! Zamiast tego, możemy połączyć funkcję "to-regex" w BSON z wbudowaną strukturą "Where / Order" w MapForce, aby osiągnąć ten sam rezultat:

[![Tworzenie filtru dla danych NoSQL](/blog/images/bson-function-use.png)](bson-function-use.png)

Opcja "Where / Order Sort" w programie MapForce spełnia również inny wymóg projektu – sortuje klientów według daty urodzenia w wynikach.

[![Okno dialogowe właściwości dla struktury "Where / Order" w MapForce](/blog/images/where-order-structure.png)](where-order-structure.png)

Format BSON obsługuje dodatkowe formaty danych niż łańcuchy znaków JSON lub liczby. MapForce automatycznie konwertuje datę urodzenia z formatu daty BSON na format tekstowy, aby umożliwić jej przetworzenie przez funkcję formatowania daty i wyświetlenie w wynikowym dokumencie.

[![MapForce automatycznie konwertuje dane w formacie BSON na format tekstowy](/blog/images/cast-birthdate-1.png)](cast-birthdate-1.png)

Łączenie struktur "Where" i "Order" w MapForce z innymi wbudowanymi funkcjami MapForce pozwala na przefiltrowanie zbioru transakcji, aby wyświetlić tylko transakcje "kupna", a następnie łączenie tych transakcji, pogrupowanych i posortowanych, z profilami znajdującymi się w zbiorze danych klientów.

[![Dodatkowe opcje łączenia, filtrowania i sortowania danych dla baz danych NoSQL](/blog/images/join-and-filter-1-1030x236.png)](join-and-filter-1.png)

Plik wynikowy zawiera listę wszystkich klientów posiadających adresy e-mail na domenie yahoo.com oraz raporty dotyczące ich zamówień, pogrupowane według konta dla każdego klienta. Dodatkowo, plik wynikowy zawiera listę klientów posortowaną według daty urodzenia, od najmłodszych do najstarszych. Poniżej przedstawiono fragment pliku wynikowego w formacie JSON, wyświetlany w programie XMLSpy, popularnym narzędziu do [edytowania, modelowania, transformacji i debugowania technologii JSON oraz XML](https://www.altova.com/pl/xmlspy-xml-editor):

[![Fragment widoku pliku wynikowego mapowania danych NoSQL w formacie XML, wyświetlany w siatce w programie XMLSpy](/blog/images/json-output-sample-4.png)](json-output-sample-4.png)

Użytkownicy są wyświetlani w kolejności malejącej według daty urodzenia, a transakcje zakupu dla każdego konta są posortowane alfabetycznie według obiektów JSON o nazwie "name" w wynikach.

Jeśli konieczne jest regularne powtarzanie procesu przetwarzania w celu zebrania nowszych transakcji, serwer MapForce [automatyzuje wykonywanie operacji mapowania danych](https://www.altova.com/pl/mapforce-server) zaprojektowanych w programie MapForce

MapForce to potężne narzędzie do mapowania danych, które umożliwia mapowanie danych z baz danych NoSQL do formatów XML, JSON, baz danych, EDI, XBRL, plików tekstowych, Excela oraz/lub usług internetowych, a także w przeciwną stronę. Aby przetestować je w swoim własnym projekcie mapowania danych NoSQL, pobierz: [W pełni funkcjonalna wersja demonstracyjna](https://www.altova.com/pl/download-trial.html) Dziś!
