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 = 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)) }
person
jmontross
schedule
14.08.2012