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

Je réécris un projet pour utiliser Node.js. J’aimerais continuer à utiliser MySQL comme firebase database (même si cela ne me dérange pas de réécrire le schéma). Je recherche un ORM simple à utiliser et à performances raisonnables, qui prend en charge la mise en cache, les relations plusieurs-à-un et plusieurs-à-plusieurs. À partir des ORM MySQL, j’ai pu trouver, persistencejs et sequelize semblent les plus matures. Avez-vous de l’expérience avec l’un ou l’autre? Quels sont les avantages et inconvénients pertinents dont je devrais être conscient dans ma décision?

Puis-je suggérer Node ORM?

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

Il existe une documentation sur le fichier Readme, supporte MySQL, PostgreSQL et SQLite.

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

Je choisirais Sequelize à cause de son excellente documentation. C’est juste un avis honnête (je n’ai jamais vraiment utilisé MySQL avec Node).

Tout d’abord, veuillez noter que je ne les ai pas utilisés (mais j’ai utilisé Node.js).

Les deux bibliothèques sont assez bien documentées et disposent d’une API stable. Cependant, persistence.js semble être utilisé dans plusieurs projets . Je ne sais pas si tous les utilisent toujours, cependant.

Le développeur de sequelize blogue parfois sur blog.depold.com . Si vous souhaitez utiliser des clés primaires comme clés étrangères, vous aurez besoin du correctif décrit dans cet article . Si vous souhaitez de l’aide pour persistence.js, un groupe Google y est consacré.

D’après les exemples que je crois comprendre, sequelize est un peu plus JavaScript (plus de sucre) que persistance.js, mais supporte moins de datastores (seulement MySQL, alors que persistance.js peut même utiliser des magasins intégrés au navigateur).

Je pense que sequelize pourrait être la voie à suivre pour vous, car vous n’avez besoin que du support MySQL. Cependant, si vous avez besoin de certaines fonctionnalités pratiques (par exemple la recherche) ou souhaitez utiliser une autre firebase database ultérieurement, vous devrez utiliser persistence.js.

Une différence majeure entre Sequelize et Persistence.js est que le premier prend en charge un type de données STRING , à savoir VARCHAR(255) . Je me sentais vraiment mal à l’aise de tout faire en TEXT .