MongoDB (Parte II)

Ayer fue una pequeña intro. Ahora vamos a usar Python con Mongo para ingresar datos😀

Existen drivers para MongoDB en distintos lenguajes. Para Python(versión 2.0.1 del driver) entramos aquí.

Tenemos distintas formas de instalarlo, desde la más simple (según ellos) hasta la más “larga” que sería desde fuente.

La primera forma es pip. Personalmente nunca había leído nada sobre eso😯 pero según dice… sirve para instalar cualquier package adicional de manera fácil… Lo que hice fue entrar aquí, descargar esto. Descomprimirlo, entrar a la carpeta y luego un

sudo python setup.py install

Nada más simple que eso😀 Teniendo pip instalado, seguimos con la instalación de pymongo con un

sudo pip install pymongo

Contraseña:
Downloading/unpacking pymongo
Running setup.py egg_info for package pymongo
Installing collected packages: pymongo
Running setup.py install for pymongo
Successfully installed pymongo
Cleaning up...

Y terminamos. Para asegurarnos, entramos a la shell de python y le damos un import pymongo. Si no dice nada, quedo bien instalado… pero si nos dice Traceback (most recent call last):
File "", line 1, in
ImportError: No module named pymongo

Algo salió mal en la instalación😦

Empecemos a meter mano con nuestra prueba en python, tomando como ejemplo una universidad o algo así. Vamos a registrar los datos personales del alumno (nombre, dirección, fecha nacimiento), la carrera que estudia, el semestre actual, y los ramos que tiene.

MongoDB utiliza JSON para el ingreso de los datos. Tomando los parámetros de arriba, sería algo así:

{"Alumno": "Mario Andrés Cares Cabezas", "Dirección": "El Canelo 2652, Iquique, Chile", "Fecha Nacimiento": "1990-05-16", "Carrera": "Ing. Informática", "Semestre Actual": 8, "Ramos": ["Adm. Recursos Humanos", "Economía", "Proyecto Final", "Aud. Computacional"]} 

Algo más o menos así, pudiendo agrupar los datos del alumno aún más.

Creamos nuestro registroAlumno.py y empezamos😀

# -*- coding: utf-8 -*-
#Importando librería pymongo, específicamente el objeto de conexión
from pymongo.connection Import Connection

#Creando la conexión por defecto
conexion = Connection()
#En caso contrario (onda con más detalles) usar
#conexion = Connection("usuario:contraseña@ruta_servidor:puerto/BaseDeDato")

#Definiendo la BD que vamos a usar. En caso de no existir, se crea automágicamente al insertar el primer registro
db = conexion.bdRegistroAlumno

#Se ingresa la información en estilo JSON (los mismos datos de arriba) y se guarda en una variable
alumno1 = {"Alumno": "Mario Andrés Cares Cabezas", "Dirección": "El Canelo 2652, Iquique, Chile", "Fecha Nacimiento": "1990-05-16", "Carrera": "Ing. Informática", "Semestre Actual": 8, "Ramos": ["Adm. Recursos Humanos", "Economía", "Proyecto Final", "Aud. Computacional"]}

#Guardamos el alumno
db.alumnos.save(alumno1)

#Leemos los alumnos ingresados
cursor = db.alumnos.find()
for alumno in cursor:
print alumno

Y eso sería todo ! Podemos ver la info en nuestro log de mongod o consultar directo en la shell de mongo

Por alguna razón... me quedaron desordenados los datos :S

Y con esto termina el tuto 2😀 Más adelante consultas más avanzadas (condiciones y cosas así) y algo decente con una interfaz gráfica😉

Acerca de MaritoCares

Ingeniero Informático. Con tendencias a la programación en [C#, VB].NET, Java(Web principalmente...), PHP, JavaScript, algo mínimo de [ruby, python], y el clásico C.
Esta entrada fue publicada en MongoDB, Pardus, Python. Guarda el enlace permanente.

2 respuestas a MongoDB (Parte II)

  1. Gracias… Muy bueno… Justo lo que busco… Aunque pensé que habria algo de interfaz gráfica para MongoDB… :(…

  2. MaritoCares dijo:

    Oficialmente nada gráfico.

    El cliente que ocupo yo se llama MongoVUE es de pago, pero puedes usar la versión free (que tiene menos cosas).

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s