connection = MongoMapper.connection
В противном случае, я думаю, вы бы использовали конструктор from_uri для создания собственного соединения.
Затем вам нужно получить в свои руки базу данных, вы можете сделать это с помощью записи доступа к массиву, метода db или получить текущую прямо из MongoMapper:
db = connection['database_name'] # This does not support options.
db = connection.db('database_name') # This does support options.
db = MongoMapper.database # This should be configured like
# the rest of your app.
Теперь у вас в руках прекрасный блестящий экземпляр Mongo :: DB. Но вы, вероятно, хотите, чтобы Collection делал что-то интересное, и вы можете получить это, используя запись доступа к массиву или метод collection:
collection = db['collection_name']
collection = db.collection('collection_name')
Теперь у вас есть что-то, что ведет себя как таблица SQL, так что вы можете подсчитать, сколько у него вещей или запросить это, используя find:
cursor = collection.find(:key => 'value')
cursor = collection.find({:key => 'value'}, :fields => ['just', 'these', 'fields'])
и т.д.
вывод строки
cursor.each { |row| puts row }
И теперь у вас есть то, что вам действительно нужно: горячий из печи Mongo :: Cursor, который указывает на интересующие вас данные. Mongo :: Cursor - это Enumerable, поэтому у вас есть доступ ко всем своим обычным повторяющиеся друзья, такие как каждый, сначала карта, и один из моих личных избранных, each_with_object:
a = cursor.each_with_object([]) { |x, a| a.push(mangle(x)) }