Работа с MongoDB: Подробнее о языке запросов ч.1

декабря 28, 2011  |  Published in MongoDB, Базы данных

mongoDBВ этой статье мы подробнее рассмотрим ранее описанные метод .find() и объекта запроса.

Методы .find() и .findOne() используются соответственно для поиска всех документов и поиска первого документа, что соответствуют запросу.

 


db.posts.find()
/*
{ "_id" : ObjectId("4ef64c526e06ee4cec3dab4e"), "title" : "Title for post # 1", "content" : "Content for post # 1" }
{ "_id" : ObjectId("4ef64c526e06ee4cec3dab4f"), "title" : "Title for post # 2", "content" : "Content for post # 2" }
...
{ "_id" : ObjectId("4ef714746dca6d809b6f4cdd"), "title" : "Title #9", "content" : "Content #9" }
{ "_id" : ObjectId("4ef714746dca6d809b6f4cde"), "title" : "Title #10", "content" : "Content #10" }
*/

db.posts.find().count() //20

Read the rest of this entry »

Tags: , ,

Работа с MongoDB: Структура БД и основы языка запросов

декабря 25, 2011  |  Published in MongoDB, Базы данных

mongoDBРаботая с MongoDB у нас имеется базовый объект — db, который представляет собой саму базу данных, точнее является ссылкой на одну из имеющихся баз данных (по умолчанию, запуская консоль это база данных с именем test). Далелее идут коллекции документов, использую dot-нотацию получаем доступ к коллекции следующим образом:

> db.collection_name

Коллекции представляют собой наборы документов или вложенных коллекций. Обратиться к документу можно используя различные запросы.
Read the rest of this entry »

Tags: , , ,

Работа с MongoDB: Установка и краткое введение в работу с MongoDB

декабря 24, 2011  |  Published in MongoDB, Базы данных

mongoDBMongoDB — это документо-ориентированная база данных. Если в реляционных базах данных мы используем строки (записи) и таблицы, то для MongoDB можно провести параллель с документами и коллекциями.

Преимуществом документо-ориентированных БД вроде MongoDB является то, что документы могут содержать произвольное количество атрибутов, значением некоторых из которых могут быть другие документы, вместо использования записей и индексов — которые используются как ссылки для ассоциирования записей из различных таблиц между собой. Кроме того, MongoDB — очень гибкое и расширяемое решение для хранения данных.
Почему MongoDB

MongoDB — очень популярное и достаточно стабильное решение, которое широко используется в production окружении там, где нужна высокая производительность и где не подходят или плохо подходят реляционные базы данных.

Read the rest of this entry »

Tags: ,

Mongoid #2: Документы

марта 16, 2011  |  Published in Базы данных

mongoid logoДанная статья является переводом официальной документации:

Документы — основные объекты в Mongoid и любой объект, который сохраняется в базу данных должен включать в себя через include Mongoid::Document. Представлением документа в MongoDB является BSON-объект, который очень похож на хэш в Ruby или объект формата JSON. Документы могут храниться в своих собственных коллекциях в базе данных или могут быть включены в другие документы таким образом имея некую степень вложенности.

Объявление документов в Mongoid

Рассмотрим простой класс — модель человека. У каждого человека должны быть имя, фамилия и отчество. Мы можем объявить эти атрибуты человека объявив соответствующие поля (поле — field) в объекте представляющем человека. В Mongoid поля, по умолчанию, имеют тип String.

#person.rb
class Person
  include Mongoid::Document
  field :first_name
  field :middle_initial
  field :last_name
end

Read the rest of this entry »

Tags: , ,

Mongoid #1: Установка

марта 1, 2011  |  Published in Базы данных

mongoid logoДанная статья является переводом официальной документации:

Для работы с MongoDB, из Ruby, необходимо установить gem Mongoid:

$ gem install mongoid —pre

Для исправления производительности, вы должно быть захотите установить расширения для Mongo написанные на Си, которые совместимы с вашей системой:

$ gem install bson_ext

Read the rest of this entry »

Tags: , , ,

Мелкопост о MongoDB и Mongoid

марта 1, 2011  |  Published in Базы данных, Новости

mongoDBДобрый день, уважаемые читатели блога! Пишу сей пост с радостью, поскольку появился повод разобраться наконец-то с тем, что такое документо-ориентированные базы данных и с чем их едят. А это означает, что на RubyDev будет новый цикл статей, в первую очередь переводов официальной документации по MongoDB — документо-ориентированной базе данных, и Mongoid — библиотеке для работы с MongoDB в Ruby. В первую очередь начну с перевода документации по Mongoid, а дальше пойдет перевод документации по самой MongoDB и различных статей на тему.

Что же такое документо-ориентированные базы данных? В первую очередь хочу сказать, что пока я сам не очень разобрался, поэтому буду благодарен на правки в комментариях. Документо-ориентированные БД — это в первую очередь NoSQL базы данных. Во-вторых, документо-ориентированные базы данных, как видно из названия ориентируются на такие структуры данных, как «документ», в отличие от таблиц, которые используются в реляционных БД типа MySQL или PostgreSQL.

Что такое документ? - Документ, это грубо говоря венегрет из различных данных, ну или, техническим языком говоря, документ можно назвать многомерным ассоциативным массивом. В MongoDB для хранения данных используется формат BSON — бинарный эквивалент формата JSON.

Как установить MongoDB?
Установка предельно проста, идем сюда: , скачиваем подходящую стабильную версию и просто распаковываем содержимое в любую необходимую нам папку.

Чтобы запустить сервер MongoDB, необходимо запустить файл mongod:

$ ./mongod —dbpath data/db

Где параметр —dbpath указывает путь, где хранится база данных. По умолчанию MongoDB, хранит файлы в папке data/db, которую вам необходимо создать самостоятельно и правильно выставить права доступа, однако у меня что-то не завелось и мне приходиться каждый раз указывать папку с БД вручную.

Все, теперь вы имеете MongoDB на борту! Ждите в ближайшее время перевода официальной документации по Mongoid.

Tags: ,