Hi,
I recently came across the post which specified that Mongoid will no
longer use the official Mongo Ruby driver, but will instead use new
Moped driver and also will be using the Origin gem to build MongoDB
queries.
After this I combed through the archives of this list and also looked
at the issues list of mongoid to see if there has been any discussion
or announcement about the beginning on these two new tools, but found
nothing. So here are a few questions related to that :
(Please note that I am not criticizing the work with these question
but only trying to understand the idea behind these two new gems. All
in all I am very excited to see so much activity around Mongoid. :) )
1) What was the motivation to build a new MongoDB driver altogether?
What is the rationale behind it, considering that Mongo has an
official ruby driver and maintaining a new driver will involve
considerable work with every new feature of MongoDB?
1.1) Is this implementation so different than the official driver
implementation that it had to a totally new gem v/s pull requests to
the official driver?
2) Moped mentions providing "fast APIs" in its goals. It however does
not have any native BSON implementation like the bson_ext to speed up
things. Would the pure ruby implementation be really faster than what
the official driver provides? Or is there a plan to bring in native
implementation sometime in the future.
3) Is Origin aimed at being something like :
http://rubygems.org/gems/arel
for MongoDB ? From a brief glance of the Origin code it doesn't seem
to depend on any particular driver. It ultimately seems to deliver a
Hash which represents the query to be handed over to MongoDB and
thereby being pretty driver agnostic. Is that so?
Once again, thank you for the awesome work going on here and I hope to
raise a couple of useful pull requests soon. :)
Regards,
Brahmana
@sribrahmana (
http://www.twitter.com/sribrahmana)