Header Ads

Como insertar un suddocumento en MongoDB

Hoy veremos un nuevo tutorial sobre como insertar un subdocumento en MongoDB, pues sabemos que dentro de un documento podemos contener otros documentos (conocidos como subdocumentos) en  MongoDB. Y lo mejor que a partir de todo esto podemos realizar técnicas de modelado de datos en MongoDB.

Aprenda como insertar un suddocumento en MongoDB.

Vayamos entonces a lo que hemos venido, pero antes si deseas puedes descargar MondoDB de su página oficial.

Vamos entonces a ver un pequeño ejemplo tomado de una pagina web, pues vamos a crear un documento que represente los datos de una ciudad, el cual contendrá, a su vez, un subdocumento con los datos de ubicación de dicha ciudad. El documento resultante será algo del siguiente estilo:


{
  "_id": ObjectId("569c389705d1b33ed481989c"),
  "nombre": "Avila",
  "habitantes": 58358,
  "ubicacion": {
    "altitud": 1131,
    "latitud": 40.654347222222,
    "longitud": -4.6962222222222
  }
}


Lo primero que haremos para poder insertar subdocumento en MongoDB será conectarnos a la base de datos:

conn = new Mongo();
db = conn.getDB("demografia")

Ahora vamos a crear el documento. El documento lo creamos en Javascript mediante un Object(), ya que los objetos en Javascript se identifican con documentos JSON, justo lo que espera MongoDB.

var ciudad = new Object();
ciudad.nombre = "Avila";
ciudad.habitantes = 58358 ;

A su vez el subdocumento con la ubicación será un Object().

var geo = new Object();
geo.altitud = 1131;
geo.latitud = 40.654347222222;
geo.longitud = -4.6962222222222;


En este caso hemos guardado la latitud y longitud en dos campos, si bien lo más recomendado en MongoDB será guardarlo en un array de dos valores. Ya veremos en otros ejemplos de Línea de Código el porqué.

Lo siguiente será crear la propiedad geo en el primero documento a la cual asignaremos este nuevo objeto que representa al subdocumento.

ciudad.geo = geo;
Solo nos quedará insertar el documento con su subdocumento. Para ello utilizamos el método .insert() sobre la colección de ciudades.

x = db.ciudades.insert(ciudad);
print ('El número de documentos insertado es de '+ x['nInserted']);

Bueno en realidad quise compartir este pequeño tutorial sobre un buen curso de MongoDB que me he encontrado en internet.




No hay comentarios