Что такое MongoDB подробно описывать не стану. Упомяну лишь, что это NoSQL документо-ориентированная СУБД.
Вдруг появилась необходимость её использования. В качестве ОС - CentOS:
$ yum install mongodb
$ sudo vim /etc/mongod.conf
В принципе можно оставить для начала всё по-дефолту. Я только добавил
rest=true
чтобы монго отдавало инфу в web по 28017 порту.
Если будет использоваться несколько серверов по схеме master-slave, то добавляем записи
master=true
и
slave=true
в конфиги соответствующих серверов и добавляем source, указывающий на слейв/мастер мастеру/слейву.
Дальше можем потестить как работает
$ mongo
> use <dbname> - подключает/переключает нас к указанной db
> db.<dbname>.find() - показывает всё, что есть в этой db (на самом деле ищет документы, но без условий фильтрации)
> db.<dbname>.find().count - показывает кол-во объектов
> db.<dbname>.find({'key':'value'}) - ищет документ, у которого есть атрибут key со значением value.
> db.<dbname>.save({object:"test"}) - сохраняет документ в базу
> db.<dbname>.remove() - удаляет все документы из db
(dbname, само собой, надо указывать без угловых скобок)
Переключение на несуществующую db и сохранение документа создаёт её. Как-то специально создавать db не требуется.
id документа сохраняется в атрибуте _id. Если такой атрибут в структуре сохраняемого документа отсутствует, то он будет создан автоматически. Если такой атрибут есть, то он будет использован в качестве идентификатора документа.
Ну и потестим:
$ mongo
MongoDB shell version: 2.2.0
> use test
switched to db test
> db.test.find().count()
3
> db.test.find()
{ "_id" : ObjectId("50783b9675a9fcdcdb121014"), "a" : 1, "b" : 3, "c" : "third param" }
{ "_id" : ObjectId("50783c4f75a9fcdcdb121015"), "a" : 2, "b" : 4, "c" : "third param" }
{ "_id" : 123123123, "a" : 2, "b" : 4, "c" : "third param" }
> db.test.save({'_id':'ObjectId("MyID")', 'key':'value'})
> db.test.save({'object':'Object without ID', 'key':'value'})
> db.test.find()
{ "_id" : ObjectId("50783b9675a9fcdcdb121014"), "a" : 1, "b" : 3, "c" : "third param" }
{ "_id" : ObjectId("50783c4f75a9fcdcdb121015"), "a" : 2, "b" : 4, "c" : "third param" }
{ "_id" : 123123123, "a" : 2, "b" : 4, "c" : "third param" }
{ "_id" : "ObjectId(\"MyID\")", "key" : "value" }
{ "_id" : ObjectId("5087f9a1f183de06581b18f3"), "object" : "Object without ID", "key" : "value" }
> db.test.find({'key':'value'})
{ "_id" : "ObjectId(\"MyID\")", "key" : "value" }
{ "_id" : ObjectId("5087f9a1f183de06581b18f3"), "object" : "Object without ID", "key" : "value" }
Вдруг появилась необходимость её использования. В качестве ОС - CentOS:
$ yum install mongodb
$ sudo vim /etc/mongod.conf
В принципе можно оставить для начала всё по-дефолту. Я только добавил
rest=true
чтобы монго отдавало инфу в web по 28017 порту.
Если будет использоваться несколько серверов по схеме master-slave, то добавляем записи
master=true
и
slave=true
в конфиги соответствующих серверов и добавляем source, указывающий на слейв/мастер мастеру/слейву.
Дальше можем потестить как работает
$ mongo
> use <dbname> - подключает/переключает нас к указанной db
> db.<dbname>.find() - показывает всё, что есть в этой db (на самом деле ищет документы, но без условий фильтрации)
> db.<dbname>.find().count - показывает кол-во объектов
> db.<dbname>.find({'key':'value'}) - ищет документ, у которого есть атрибут key со значением value.
> db.<dbname>.save({object:"test"}) - сохраняет документ в базу
> db.<dbname>.remove() - удаляет все документы из db
(dbname, само собой, надо указывать без угловых скобок)
Переключение на несуществующую db и сохранение документа создаёт её. Как-то специально создавать db не требуется.
id документа сохраняется в атрибуте _id. Если такой атрибут в структуре сохраняемого документа отсутствует, то он будет создан автоматически. Если такой атрибут есть, то он будет использован в качестве идентификатора документа.
Ну и потестим:
$ mongo
MongoDB shell version: 2.2.0
> use test
switched to db test
> db.test.find().count()
3
> db.test.find()
{ "_id" : ObjectId("50783b9675a9fcdcdb121014"), "a" : 1, "b" : 3, "c" : "third param" }
{ "_id" : ObjectId("50783c4f75a9fcdcdb121015"), "a" : 2, "b" : 4, "c" : "third param" }
{ "_id" : 123123123, "a" : 2, "b" : 4, "c" : "third param" }
> db.test.save({'_id':'ObjectId("MyID")', 'key':'value'})
> db.test.save({'object':'Object without ID', 'key':'value'})
> db.test.find()
{ "_id" : ObjectId("50783b9675a9fcdcdb121014"), "a" : 1, "b" : 3, "c" : "third param" }
{ "_id" : ObjectId("50783c4f75a9fcdcdb121015"), "a" : 2, "b" : 4, "c" : "third param" }
{ "_id" : 123123123, "a" : 2, "b" : 4, "c" : "third param" }
{ "_id" : "ObjectId(\"MyID\")", "key" : "value" }
{ "_id" : ObjectId("5087f9a1f183de06581b18f3"), "object" : "Object without ID", "key" : "value" }
> db.test.find({'key':'value'})
{ "_id" : "ObjectId(\"MyID\")", "key" : "value" }
{ "_id" : ObjectId("5087f9a1f183de06581b18f3"), "object" : "Object without ID", "key" : "value" }
Комментариев нет:
Отправить комментарий