Którego ORM powinienem użyć do Node.js i MySQL? [zamknięte]
Przepisuję projekt do użycia Node.js. Chciałbym nadal używać MySQL jako DB (chociaż nie mam nic przeciwko przepisaniu schematu). Szukam prostego w użyciu, rozsądnej wydajności ORM, który obsługuje buforowanie, relacje many-to-one I many-to-many. Z MySQL ORMs mogę znaleźć, persistencejs i sequelize wydają się najbardziej dojrzałe. Masz doświadczenie z którymś z nich? Jakie są istotne plusy i minusy, których powinienem być świadomy w swojej decyzji?
4 answers
Czy mogę zaproponować Node ORM?
Https://github.com/dresende/node-orm2
Jest dokumentacja na Readme, obsługuje MySQL, PostgreSQL i SQLite.
MongoDB jest dostępny od wersji 2.1.x (wydany w lipcu 2013)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-23 10:04:57
Wybrałbym Sequelize ze względu na doskonałą dokumentację. To tylko szczera opinia (nigdy tak naprawdę nie używałem MySQL z Node).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-24 09:22:36
Po pierwsze, proszę zauważyć, że nie używałem żadnego z nich (ale użyłem Node.js).
Obie biblioteki są dość dobrze udokumentowane i mają stabilne API. Jednak wytrwałość.js wydaje się być używany w większej liczbie projektów . Nie wiem, czy wszyscy nadal go używają.
Twórca sequelize czasami bloguje o tym na blog.depold.com . Jeśli chcesz używać kluczy podstawowych jako kluczy obcych, będziesz potrzebował łatki opisanej w w tym poście na blogu . Jeśli potrzebujesz pomocy za wytrwałość.js istnieje grupa google poświęcona temu.
Z przykładów wnioskuję, że sequelize jest trochę bardziej podobny do JavaScript (więcej cukru) niż persistance.js, ale ma wsparcie dla mniejszej ilości magazynów danych (tylko MySQL, natomiastjs może nawet korzystać ze sklepów w przeglądarce).
Myślę, że sequelize może być dla Ciebie drogą, ponieważ potrzebujesz tylko wsparcia MySQL. Jeśli jednak potrzebujesz wygodnych funkcji (np. wyszukiwania) lub chcesz skorzystać z innej bazy danych później będziesz musiał użyć uporu.js.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-21 21:10:30
Jedna zasadnicza różnica między Sequelize a Persistence.js polega na tym, że pierwszy obsługuje typ danych STRING
, tj. VARCHAR(255)
. Czułem się naprawdę nieswojo robiąc wszystko TEXT
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-04 20:53:05