Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

QueryLeaf: interrogare database MongoDB con SQL

QueryLeaf è una libreria open source che consente di interrogare database MongoDB utilizzando SQL in applicazioni Node.js
QueryLeaf: interrogare database MongoDB con SQL
QueryLeaf è una libreria open source che consente di interrogare database MongoDB utilizzando SQL in applicazioni Node.js
Link copiato negli appunti

QueryLeaf è una libreria open source che permette di interrogare database MongoDB utilizzando il linguaggio SQL all'interno di applicazioni Node.js. Questo progetto nasce con l'obiettivo di colmare il divario tra i database relazionali e quelli noSQL, così come di semplificare le sessioni di lavoro con MongoDB senza dover imparare la sintassi nativa delle query.

Come funziona QueryLeaf

Alla base del funzionamento di QueryLeaf abbiamo un processo articolato nel quale una query SQL viene innanzitutto convertita in una struttura di dati astratta (AST, Abstract Syntax Tree) grazie al package node-sql-parser. Fatto ciò l'AST viene tradotto in comandi MongoDB equivalenti. Questi ultimi sono poi eseguiti utilizzando il driver ufficiale per Node.js. Tale meccanismo permette di gestire le classiche operazioni SQL come SELECT, INSERT, UPDATE e DELETE pur operando su un database documentale.

Ecco quindi che una query come la seguente:

db.collection('users').find({ age: { $gt: 21 } }, { name: 1, email: 1 })

diventa:

SELECT name, email FROM users WHERE age > 21

QueryLeaf è in grado di gestire strutture di dati anche molto complesse. Con esso è infatti possibile accedere a campi annidati o estrarre valori da array (ad esempio items[0].name). Sono supportate anche le funzioni aggregate come COUNT, SUM, AVG, MIN e MAX. Così come l'equivalente dei JOIN tra collezioni tramite gli operatori $lookup e $unwind di MongoDB.

Installazione e test delle query

La libreria è disponibile in diverse modalità. Può essere così integrata direttamente nel codice JavaScript o TypeScript, utilizzata da riga di comando tramite CLI, interrogata attraverso un server REST o perfino connessa come se si trattasse di un database PostgreSQL grazie a un server compatibile.

Per iniziare, è sufficiente installare il pacchetto @queryleaf/lib tramite npm:

npm install @queryleaf/lib

Fatto ciò QueryLeaf si aggancia ad un client MongoDB in quanto non ha la possibilità di creare o gestire da solo connessioni dirette con esso. Gli sviluppatori possono anche testare le proprie query con la classe DummyQueryLeaf che simula l'esecuzione delle interrogazioni senza accedere a un database reale.

Ti consigliamo anche