I’m using Mongoid to work with MongoDB in Rails.
What I’m looking for is something like active record include. Currently I failed to find such method in mongoid orm.
Anybody know how to solve this problem in mongoid or perhaps in mongomapper, which is known as another good alternative.
Update: it’s been two years since I posted this answer and things have changed. See tybro0103’s answer for details.
Old Answer
Based on the documentation of both drivers, neither of them supports what you’re looking for. Probably because it wouldn’t solve anything.
The
:includefunctionality of ActiveRecord solves the N+1 problem for SQL databases. By telling ActiveRecord which related tables to include, it can build a single SQL query, by usingJOINstatements. This will result in a single database call, regardless of the amount of tables you want to query.MongoDB only allows you to query a single collection at a time. It doesn’t support anything like a
JOIN. So even if you could tell Mongoid which other collections it has to include, it would still have to perform a separate query for each additional collection.