---
title: Mappatura dei dati per database NoSQL
date: 2021-11-26
categories:
  - database
  - database-mapping
  - json
tags:
  - data-conversion
  - mapforce
  - nosql-data-mapping
  - nosql-databases
description: MapForce offre supporto per la mappatura e la conversione di database NoSQL, consentendo l'inserimento, l'estrazione, il filtraggio e l'ordinamento dei dati NoSQL.
---
Status: #blog

Tags:  #data-conversion #mapforce #nosql-data-mapping #nosql-databases

Categories: [database + sql](/blog/it/category/database-sql.md) | [data-integration](/blog/it/category/data-integration.md) | [json](/blog/it/category/json.md)
# Mappatura dei dati per database NoSQL

I database NoSQL sono database non tabellari che memorizzano i dati in modo diverso rispetto ai database tradizionali, costituiti da tabelle relazionali. Due dei database NoSQL più diffusi, MongoDB e Apache CouchDB, memorizzano i dati come raccolte di documenti BSON (JSON binario) e JSON. Questi database sfruttano schemi JSON flessibili e si adattano facilmente a grandi quantità di dati e a un elevato numero di utenti.

Altova MapForce supporta da tempo la [mappatura dei dati](https://www.altova.com/it/mapforce) per tutti i principali database relazionali e ora include anche il supporto nativo per la mappatura dei database NoSQL. MapForce offre funzionalità per l'inserimento, l'estrazione, il filtraggio e l'ordinamento dei dati NoSQL. Vediamo un esempio.

![](/blog/images/cbcr_blog_2.jpg)

<!--more-->

Di seguito è riportata una mappatura completa dei dati del database di esempio "sample_analytics" di MongoDB, un database NoSQL. Questa mappatura estrae un sottoinsieme dei dati in formato binario JSON (BSON) da diverse raccolte, combina, filtra, trasforma e ordina i dati, per poi esportare il risultato come un singolo documento JSON.

[![Mappatura dei dati: esempio di come rappresentare database NoSQL in formato JSON](/blog/images/complete-NoSQL-JSON-mapping-1-1030x624.png)](complete-NoSQL-JSON-mapping-1.png)

Il database NoSQL "sample_analytics" è un esempio ospitato su un server cloud MongoDB Atlas accessibile pubblicamente e contiene dati di addestramento per un'applicazione simulata di servizi finanziari. Il database include collezioni di documenti BSON relativi a 500 clienti, 1.746 conti e 1.746 transazioni di acquisto o vendita.

La mappatura dei database NoSQL in MapForce inizia selezionando il database NoSQL dalla procedura guidata "Inserisci connessione al database" di MapForce e inserendo i parametri di connessione. Successivamente, è possibile selezionare le raccolte da mappare:

[![Selezione delle collezioni da utilizzare per la mappatura dei dati provenienti dal database NoSQL](/blog/images/insert-database.png)](insert-database.png)

Ogni collezione richiede uno schema JSON per mappare i suoi oggetti. Lo schema può essere definito nel database per la validazione, oppure può essere un file esterno.

[![Assegnare uno schema JSON alla collezione per la mappatura dei dati](/blog/images/assign-schema.png)](assign-schema.png)

Ecco una visualizzazione più dettagliata degli oggetti presenti nelle collezioni "clienti" e "transazioni", pronta per la mappatura dei dati NoSQL in MapForce:

[![Visualizzazione delle raccolte NoSQL pronte per la mappatura dei dati](/blog/images/NoSQL-source.png)](NoSQL-source.png)

Dopo aver specificato uno schema JSON o un file JSON di esempio per il formato di output, siamo pronti a iniziare a collegare gli oggetti nel database all'output. Il database NoSQL MongoDB memorizza dati JSON in formato binario. La libreria di funzioni MapForce include funzioni integrate per la manipolazione dei dati BSON:

[![MapForce include funzioni integrate per manipolare i dati in formato BSON](/blog/images/bson-functions.png)](bson-functions.png)

Il database include clienti con indirizzi email Gmail, Hotmail e Yahoo nei loro profili, ma il nostro progetto di mappatura ha il compito di recuperare solo i risultati per i clienti con indirizzi Yahoo. Ovviamente, non esiste una query SQL Select/Where in un database NoSQL per filtrare gli indirizzi email! Pertanto, possiamo combinare una funzione to-regex di BSON con una struttura Where/Order integrata in MapForce per ottenere lo stesso risultato:

[![Creare un filtro per i dati NoSQL](/blog/images/bson-function-use.png)](bson-function-use.png)

L'opzione "Where / Order Sort" di MapForce soddisfa anche un altro requisito del progetto: ordinare i clienti in base alla data di nascita nell'output.

[![Finestra di dialogo delle proprietà per la struttura "Where / Order" di MapForce](/blog/images/where-order-structure.png)](where-order-structure.png)

Il formato BSON supporta formati di dati aggiuntivi rispetto alle stringhe o ai numeri in formato JSON. MapForce converte automaticamente la data di nascita dal formato data BSON a una stringa, in modo che possa essere elaborata dalla funzione "formatta-data" per l'output finale.

[![MapForce converte automaticamente il formato dati BSON in una stringa](/blog/images/cast-birthdate-1.png)](cast-birthdate-1.png)

Combinando le strutture "Where" e "Order" di MapForce con altre funzioni integrate di MapForce, è possibile filtrare la raccolta di transazioni per visualizzare solo le transazioni di "acquisto" e, successivamente, collegare le transazioni, raggruppate e ordinate, ai profili presenti nella raccolta dei clienti.

[![Opzioni aggiuntive per l'unione, il filtraggio e l'ordinamento dei dati nelle banche dati NoSQL](/blog/images/join-and-filter-1-1030x236.png)](join-and-filter-1.png)

Il file di output contiene tutti i clienti con indirizzi email yahoo.com e riporta i loro ordini di acquisto, raggruppati per account, per ciascun cliente. Inoltre, il file di output elenca i clienti in ordine di data di nascita, dal più giovane al più anziano. Di seguito, una visualizzazione parziale dell'output JSON in XMLSpy, lo strumento popolare per la [modifica, la modellazione, la trasformazione e il debug di tecnologie JSON e XML](https://www.altova.com/it/xmlspy-xml-editor):

[![Anteprima parziale del file di output della mappatura dei dati NoSQL, visualizzato in formato griglia in XMLSpy](/blog/images/json-output-sample-4.png)](json-output-sample-4.png)

Gli utenti vengono visualizzati in ordine decrescente in base alla data di nascita, e le transazioni di acquisto per ciascun account sono elencate in ordine alfabetico in base agli oggetti "name" nel formato JSON dell'output.

Se è necessario ripetere periodicamente l'elaborazione per raccogliere nuove transazioni, MapForce Server [automatizza l'esecuzione delle mappature dei dati](https://www.altova.com/it/mapforce-server) progettate in MapForce

MapForce è un potente strumento di mappatura dati che consente di mappare dati provenienti da database NoSQL verso o da formati come XML, JSON, database, EDI, XBRL, file di testo, Excel e/o servizi web. Per provarlo e utilizzarlo nella vostra applicazione di mappatura dati NoSQL, scaricate una [Prova gratuita completamente funzionante](https://www.altova.com/it/download-trial.html) Oggi!
