2 ms·
MongoDB is schemaless, so you don't have to do traditional migrations. Unless you're making a joke about me migrating to a different database to avoid migration
by Widdershin 13y ago
MongoDB is schemaless, so you don't have to do traditional migrations. Unless you're making a joke about me migrating to a different database to avoid migrations, in which case, good joke.
- morphyn 13y agoMigrations are about data, not schema. You don't need migrations with a "schemaless" database at the beginning, but as soon as you have data you care about, you're gonna need to ensure some sort of consistency.
- Widdershin 13y agoDo you think I should move back to Postgres? If so, why? Genuinely looking for well backed technically minded opinions here.
- paddy_m 13y agoI think you should learn the relational model (not SQL). Understand the problems it was trying to solve and how the relational model solves them. Then figure out how that applies to your app. Database in Depth was helpful for me http://www.amazon.com/Database-Depth-Relational-Theory-Practitioners/dp/0596100124 http://www.amazon.com/Database-Depth-Relational-Theory-Pract... .
- vinceguidry 13y agoYes, you should move back to Postgres. The reason is you can do many more operations on structured data than on structure-less data. You found that out already with the many-to-many thing. There are plenty of other intangibles that will bite you in the ass later.
- gaius 13y agoAn undocumented and unvalidated schema, you mean. A database without a schema is a contradiction in terms.
- Widdershin 13y agoMy apologies, the official documentation referred to MongoDB as "schemaless" so I figured it was a real thing.
- yen223 13y agoYou aren't wrong, MongoDB is schemaless in the sense that you don't need to define a schema to use Mongo. But to use any datastore, you'll be defining a schema somewhere - generally, in your app itself.
- lmm 13y agoDepends how you define database. Perhaps it's more precise to say that Mongo is a schemaless key-value store, but in truth it provides many functions that people think of as a "database", and the differences between it and traditional RDBMS seem inessential to what distinguishes a database from other things.