Wie verwende ich PostgreSQL JSON-Typen am besten mit NodeJS?

8

Ich bin hier mit einer Analyselähmung konfrontiert. Es gibt so viele Möglichkeiten, Datenbanken mit NodeJS zu programmieren, dass ich etwas verloren habe.

Ich baue einen API-Server mit Express, der mit einer HTML5-App auf dem Handy kommuniziert. Ich habe mich für PostgreSQL entschieden, weil meine Daten "sehr relational" sind und der neue PostgreSQL-JSON-Datentyp mein Leben viel einfacher macht.

Leider kann ich keine Bibliothek für PostgreSQL finden, die den neuen JSON-Datentyp nutzt oder diesen freilegt. Ich dachte daran, Sequelize zu verwenden und ein nettes ORM zu haben oder meine eigenen Sachen mit dem rohen pgsql-Modul zu rollen.

Kann jemand eine Ahnung haben? Ich würde dies auf einigen NodeJS Stackexchange fragen, aber ich denke nicht, dass wir einen so spezifisch wie diesen haben.

    
Andre Garzia 12.03.2014, 16:36
quelle

5 Antworten

4

Ich mag Ссылка . Es ist aktiv entwickelt und nur eine nette dünne Schicht.

Um die JSON-Typen in einer vorbereiteten Abfrage zu verwenden, einfach JSON.stringify , was auch immer Sie versuchen, als JSON zu speichern (so wie es Postgres sowieso will).

    
Tim Brown 12.03.2014 18:38
quelle
0

pg-promise ist der einfachste Weg, PostgreSQL mit Node JS zu verwenden, der node-postgres mit Versprechen, für automatisierte Verbindungen und Transaktionen.

    
vitaly-t 05.07.2015 21:59
quelle
-1

Any-db mit der Erweiterung pg funktioniert gut für mich.

    
leszek.hanusz 12.03.2014 19:22
quelle
-1

Objection.js hat wirklich gute Unterstützung für relationale Daten sowie für JSONB Daten.

Sie müssen keine Tricks ausführen, um JSON-Daten zu analysieren / zu stringieren. Alles ist automatisch erledigt. Sie können Schemas deklarieren, um die Validierung von Daten zu ermöglichen, die Sie DB usw. hinzufügen.

Man kann geschachtelte relationale Objekthierarchien in die DB einfügen, und Zeilen werden erzeugt, um Tabellen zu korrigieren, und Sie haben Javascript-API, um Daten innerhalb von JSON-Spalten abzufragen, so dass Sie auch kein RAW SQL schreiben müssen.

BEARBEITEN:

Keine Ahnung, warum die Down-Votes hier (seine -2 aktuell), Objection.js immer noch die beste Unterstützung für Postgresqls JSONB-Operationen in der Node-Welt haben (und die einzige Wahl in den aktuellen Antworten, die spezielle Unterstützung für postgresql jsonb-Behandlung bietet) ).

Die letzte Ergänzung bestand darin, nur Teile von Daten innerhalb der JSONB-Spalte zu patchen, wobei in objection.js automatisch jsonb_set() -Aufrufe für Sie erstellt werden.

zum Beispiel:

%Vor%

erstellt eine Aktualisierungsabfrage wie folgt:

%Vor%

Auch kann man ref() -Syntax in fast jeder Abfrage-Generator-Methode wie in

verwenden %Vor%

oder

%Vor%

oder sogar mit Joins

%Vor%     
Mikael Lepistö 18.01.2016 22:23
quelle
-2

Ich habe auch eine Antwort auf diese Frage gesucht und eine ähnliche Lösung gefunden.

%Vor%

Damit können Sie pg mit Promise s verwenden. Details hier Manuelles Promistifizieren von pg.connect mit Bluebird

    
Vlad Ankudinov 25.02.2016 14:17
quelle

Tags und Links