Mongo or Solr or any NoSQL

53 views
Skip to first unread message

John Carmichael

unread,
Jan 2, 2015, 1:29:15 PM1/2/15
to sequ...@googlegroups.com

Are there any plans to include mongo, solr or any other nosql languages to sequelize?


Will Hoover

unread,
Jan 2, 2015, 2:07:04 PM1/2/15
to John Carmichael, sequ...@googlegroups.com

I don't think it will happen anytime soon: https://github.com/sequelize/sequelize/issues/1931

Mick Hansen

unread,
Jan 2, 2015, 2:22:45 PM1/2/15
to Will Hoover, John Carmichael, sequ...@googlegroups.com
NoSQL databases are not our focus.
We are only so many developers and supporting SQL dialects is our biggest priority - Most NoSQL databases have great ORMs already :)
However we will likely begin support pluggable backends sometime in the future so community maintained NoSQL dialects could be a possibility.
--
Mick Hansen
@mhansendev
mhansen.io

Chad Robinson

unread,
Jan 4, 2015, 12:40:38 PM1/4/15
to sequ...@googlegroups.com
CaminteJS supports MySQL, MongoDB, Redis, and a few others. I personally believe SequelizeJS is a better framework, but if you really need to support Mongo, it's an option to consider.

I don't know of any good ORM for SOLR. It's such a specialized environment that I wouldn't normally consider using it as an ORM back-end. To get the best use out of it requires careful use of its indexing API, and we've always written directly against it. There are a couple of Open Source projects that add meta-layers like this to SOLR, but nothing that's going to generically support MySQL and/or MongoDB as well. They're just designed for different purposes.

Just my personal opinion, ORMs that can support both relational and object/document-based databases tend not to be very good. Each category of DB is designed around a radically different philosophy in "how" you do what you do. SequelizeJS gives you fine-grained control over things like foreign keys, indexes, field definitions and default values, etc. Some of those concepts don't even exist in MongoDB. Meanwhile, MongoDB tends to be very good at internally dealing with things relational ORMs do a lot of work to support, like database schema migrations (because it doesn't have or need one). I think it's super-hard to abstract these points, and again, just my opinion but I think it's best to commit to relational vs document databases FIRST, THEN choose the best "stack" on top of that choice. SequelizeJS makes it super easy to switch from MySQL to PostgreSQL... and that's an ideal use-case for it. :)

Richard Gustin

unread,
Mar 3, 2015, 11:29:40 AM3/3/15
to sequ...@googlegroups.com
CleverStack provides this feature through the ORM Module (clever-orm) , which uses SequelizeJS behind the scenes - By using the CleverStack Model Class you're able to define a single model, that can be used with ORM/Sequelize, but more importantly with other modules like our ODM Module (clever-odm), which uses MongooseJS to store data in MongoDB.

To take a look at how you define models in CleverStack, see Model Definition from the Model Documentation

Cheers,
Richard
Reply all
Reply to author
Forward
0 new messages