MongoDB en CentOS

¿Qué es MongoDB? Buena pregunta, ¿hay algún médico en la sala? Pues es una base de datos orientada a documentos, un concepto bastente diferente del SQL.

MongoDB wasn’t designed in a lab. We built MongoDB from our own experiences building large scale, high availability, robust systems. We didn’t start from scratch, we really tried to figure out what was broken, and tackle that. So the way I think about MongoDB is that if you take MySql, and change the data model from relational to document based, you get a lot of great features: embedded docs for speed, manageability, agile development with schema-less databases, easier horizontal scalability because joins aren’t as important. There are lots of things that work great in relational databases: indexes, dynamic queries and updates to name a few, and we haven’t changed much there. For example, the way you design your indexes in MongoDB should be exactly the way you do it in MySql or Oracle, you just have the option of indexing an embedded field.

– Eliot Horowitz, 10gen CTO and Co-founder

Acabamos de conocernos pero lo poco que he visto me gusta, al menos, la documentación es amplia y precisa. En este post tratamos la instalación y cuatro comandos de newbie

La instalación se lleva a cabo en CentOS 6 64 bits.
Editamos nuestro repositorio de CentOS:

[cc] # cd /etc/yum.repos.d
# vim mongodb.10gen.repo
[/cc] [cc] [10gen] name=10gen Repository
baseurl=http://downloads.mongodb.org/distros/centos/5.4/os/x86_64/
gpgcheck=0
[/cc] [cc] # sudo yum install mongo-stable-server
# sudo /etc/init.d/mongod start
# chkconfig mongod on
[/cc]

Primeros pasos:

Accedemos por consola a nuestro MongoDB

[cc] -bash-4.1# mongo
MongoDB shell version: 1.6.5
connecting to: test
[/cc]

Una vez dentro, listamos bases de datos a las que estamos conectados

[cc] show dbs
admin
local
[/cc]

Cambiamos a otra base de datos o creamos una de cero

[cc] use prueba
switched to db prueba
[/cc]

Añadimos y salvamos un documento

[cc] post={
… ‘title’:’aprendiendo mongodb’,
… ‘content’:’base de datos orientada a documentos???? lol’
… }
{
“title” : “aprendiendo mongodb”,
“content” : “base de datos orientada a documentos???? lol”
}
db.blog.insert(post)
[/cc]

Hacemos query de todos los documentos

[cc] db.blog.find()
{ “_id” : ObjectId(“4e8d8a2b9699783129d48d61”), “title” : “aprendiendo mongodb”, “content” : “mongodb es una base de datos orientada a documentos…LOL” }
[/cc]

Query de un documento

[cc] db.blog.findOne()
{
“_id” : ObjectId(“4e8d8a2b9699783129d48d61”),
“title” : “aprendiendo mongodb”,
“content” : “mongodb es una base de datos orientada a documentos…LOL”
}
[/cc]

Query de documentos en base a un valor especifico

[cc] db.blog.find({‘title’:’aprendiendo mongodb’})
{ “_id” : ObjectId(“4e8d8a2b9699783129d48d61”), “title” : “aprendiendo mongodb”, “content” : “mongodb es una base de datos orientada a documentos…LOL” }
[/cc]

NOTA: por defecto Mongo no carga autenticación de ningún tipo, para activarla:

[cc] # vim /etc/mongod.conf

# Turn on/off security. Off is currently the default
#noauth = true
auth = true

[/cc]

Links

One thought on “MongoDB en CentOS

  1. Pingback: CentOS – Install Unifi Controller | Rubén Ortiz

Leave a Reply

Your email address will not be published. Required fields are marked *