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?
Réponses
Trop de publicités?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).
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)
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.