Qui 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?
- Mais c'est un thème très intéressant. Aimeriez-vous obtenir un accès aux développeurs tiers pour modifier les données de votre site? Il est peut-être une meilleure idée de créer intermédiaire librairie js qui envoie les paramètres de la demande (meta language) pour un backend?
- Soins à élaborer? Google pour "hibernate"mise en cache.
- Hm... Certains sites permettent aux applications de l'utilisateur. Ou je ne vous comprend pas, excusez-moi s'il vous plaît.
- La mise en cache est en fait un assez caractéristique majeure d'un certain nombre de solutions d'ORM. Regarder le poivre de Cayenne, par exemple.
- Essayez de Oreo. github.com/will123195/oreo
- Il y a aussi Bookshel.js.
- J'ai développé ce ORM qui met en cache l'ensemble de la base de données en mémoire. Vous pouvez accéder aux données d'une façon synchrone, et de contrôler toutes les modifications avec les transactions. github.com/jbaylina/syncorm
- ...et fermé par quelqu'un qui ne connait ni le Node.js ni MySQL :-/ (juste pour obtenir une prime ?)
- "fermés que pas constructif par Kev" ?! sérieusement?... pardon pour mon sarcasme.
Vous devez vous connecter pour publier un commentaire.
Puis-je suggérer Nœud ORM?
https://github.com/dresende/node-orm2
Il y a de la documentation sur le fichier lisez-moi, supporte MySQL, PostgreSQL et SQLite.
MongoDB est disponible depuis la version 2.1.x (publié en juillet 2013)
Mise à JOUR: Ce forfait n'est plus maintenu, par le README du projet. Il recommande plutôt d' étagère et sequelize
Je choisirais Sequelize en raison de son excellente documentation. C'est juste une opinion honnête (je n'ai jamais vraiment utilisé MySQL avec Nœud tant que ça).
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 plusieurs 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 ce 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-like (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.
Une différence majeure entre Sequelize et Persistence.js le fait que le premier prend en charge un
STRING
type de données, c'est à direVARCHAR(255)
. Je me sentais vraiment mal à l'aise tout en faisantTEXT
.