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?
Antworten
Zu viele Anzeigen?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).
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.
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.