339 Stimmen

Welches ORM sollte ich für Node.js und MySQL verwenden?

Ich schreibe ein Projekt um, um Node.js zu verwenden. Ich möchte weiterhin MySQL als DB verwenden (auch wenn es mir nichts ausmacht, das Schema umzuschreiben). Ich bin auf der Suche nach einem einfach zu bedienenden ORM mit angemessener Leistung, das Caching, Many-to-One- und Many-to-Many-Beziehungen unterstützt. Von den MySQL ORMs, die ich finden konnte, persistencejs y fortsetzen. scheinen die reifsten zu sein. Haben Sie mit beiden Erfahrungen gemacht? Was sind die relevanten Vor- und Nachteile, die ich bei meiner Entscheidung beachten sollte?

161voto

alessioalex Punkte 60195

Ich würde wählen Sequelize wegen seiner hervorragenden Dokumentation. Es ist nur eine ehrliche Meinung (ich habe nie wirklich MySQL mit Node so viel verwendet).

105voto

dresende Punkte 2210

Darf ich Node ORM vorschlagen?

https://github.com/dresende/node-orm2

Es gibt eine Dokumentation in der Readme-Datei, unterstützt MySQL, PostgreSQL und SQLite.

MongoDB ist verfügbar seit Version 2.1.x (veröffentlicht im Juli 2013)

UPDATE: Dieses Paket wird laut README des Projekts nicht mehr gepflegt. Es empfiehlt stattdessen Bücherregal y fortsetzen.

20voto

hey_lu Punkte 213

Zunächst einmal möchte ich anmerken, dass ich keines der beiden Programme verwendet habe (wohl aber Node.js).

Beide Bibliotheken sind sehr gut dokumentiert und haben eine stabile API. Allerdings scheint persistence.js zu sein in mehr Projekten verwendet . Ich weiß allerdings nicht, ob alle sie noch verwenden.

Der Entwickler von sequelize bloggt manchmal darüber unter blog.depold.com . Wenn Sie Primärschlüssel als Fremdschlüssel verwenden möchten, benötigen Sie den Patch, der in dieser Blogbeitrag . Wenn Sie Hilfe für persistence.js möchten, gibt es eine Google-Gruppe, die ihr gewidmet ist.

Aus den Beispielen entnehme ich, dass sequelize etwas JavaScript-ähnlicher ist (mehr Zucker) als persistance.js, aber weniger Datenspeicher unterstützt (nur MySQL, während persistance.js sogar In-Browser-Speicher verwenden kann).

Ich denke, dass sequelize der richtige Weg für Sie sein könnte, da Sie nur MySQL-Unterstützung benötigen. Wenn Sie jedoch einige praktische Funktionen (z. B. Suche) benötigen oder später eine andere Datenbank verwenden möchten, müssen Sie persistence.js verwenden.

11voto

Josh Smith Punkte 14040

Ein wesentlicher Unterschied zwischen Sequelize und Persistence.js besteht darin, dass Sequelize eine STRING Datentyp, d.h. VARCHAR(255) . Ich fühlte mich wirklich unwohl dabei, alles zu machen. TEXT .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X