335 votes

Quel ORM dois-je utiliser pour Node.js et MySQL ?

Je suis à la réécriture d'un projet d'utilisation des Node.js. J'aimerais continuer à l'utiliser MySQL comme DB (même si je n'ai pas l'esprit de la réécriture du schéma). Je suis à la recherche d'un simple-à-utilisation, raisonnable performance de l'ORM, qui prend en charge la mise en cache, plusieurs-à-un et plusieurs-à-plusieurs relations. À partir de la base de données MySQL Orm j'ai pu trouver, persistencejs et sequelize semblent les plus matures. Avez-vous une expérience avec l'un ou l'autre? Quels sont les avantages et les inconvénients, je devrais être au courant de ma décision?

159voto

alessioalex Points 27001

Je choisirais Sequelize parce que c'est une excellente documentation. C'est juste une opinion honnête (je n'ai jamais vraiment utilisé MySQL avec Node).

105voto

dresende Points 1460

Puis-je suggérer Node ORM?

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

Il y a de la documentation sur le Readme, supporte MySQL, PostgreSQL et SQLite.

MongoDB est disponible depuis la version 2.1.x (sorti en juillet 2013)

20voto

hey_lu Points 168

Tout d'abord, veuillez noter que je n'ai pas utilisé l'un ou l'autre (mais ils ont utilisé Node.js).

Les deux bibliothèques sont documentées très bien et nous avons un API stable. Cependant, persistence.js semble être utilisé dans d'autres projets. Je ne sais pas si tous les utiliser, cependant.

Le développeur de sequelize parfois les blogs à ce sujet à blog.depold.com. Lorsque vous souhaitez utiliser des clés primaires comme des clés étrangères, vous aurez besoin du correctif qui est décrit dans cet article de blog. Si vous souhaitez de l'aide pour persistence.js il y a un groupe google est consacré.

À partir de ces exemples, je suppose que sequelize est un peu plus JavaScript (plus de sucre) que persistance.js mais supporte de moins en moins de banques de données (uniquement MySQL, tandis que persistance.js pouvez même l'utiliser dans le navigateur).

Je pense que sequelize pourrait être le chemin à parcourir pour vous, car vous avez seulement besoin de support de MySQL. Toutefois, si vous avez besoin de quelques fonctions pratiques (par exemple la recherche) ou si vous voulez utiliser une autre base de données, plus tard, vous auriez besoin d'utiliser persistence.js.

11voto

Josh Smith Points 4420

Une différence majeure entre Sequelize et Persistence.js est que le premier supporte un type de données STRING , c'est-à-dire VARCHAR(255) . Je me sentais vraiment mal à l'aise de tout faire TEXT .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X