This is not the first time this question has been asked.
On GitHub:
On this mailing list:
----
I can see in some cases in Spree where having a document store could be useful. For instance, a product has variants (which themselves have prices), properties and option types nested under it. An order has line items, payments, adjustments and shipments nested under it. Situations like this could be why you think MongoDB could be a good fit.
The difficulty in a system like this lies in the relationships between deeply-nested objects. For instance, an order's line item needs to link to a product's variant. Relational databases lend themselves to links like this, whereas a document database would not. MongoDB would not be a good fit if we wanted to maintain these links.
There are absolutely no plans at all to support MongoDB in the future. As Andrew already pointed out, relational databases lend themselves quite well to ecommerce stores, and that is what we will be using going forward. In addition to that, rewriting everything to use MongoDB or an alternative database system would require a huge amount of work and we're already applying that huge amount of work to plenty of other things within Spree.