Coder Social home page Coder Social logo

mongodb-makeitreal's Introduction

MongoDB

Base de datos NOSQL

Tipo Documental

MongoDB es una base de datos NO SQL de tipo documental. Puede ser una de las más usadas o la más usada cuando de no relacionales se trata.

Una cosa importante sobre MongoDB es que es gratis y open source lo cual lo hace genial para comenzar a desarrollar. Addicionalmente, existe soporte pago de algunas plataformas en caso de hacer despliegues más complejos.

¿Pero qué es una base de datos?

Es una forma de persistir información en el tiempo.

¿Como hace MongoDB para almacenar la información?

Colecciones

En mongo los datos son almacenados como Colleciones las cuales por dentro estan constituidas por Documentos

Documentos

Su estructura es parecida a los Objectos literales de JS(JSON) pero estos son llamados BSON (Binary JSON).

Estructura

Un ejemplo de estructura podría se la siguiente.

 {
   username: 'jasmo2',
   name: 'jaime',
   hobbies: ['coding', 'bikes', 'family time']
   jobs: [
     {
       employeer: 'make it real',
       role: 'mentor'
     },
     {
       employeer: 'MSCo',
       role: 'Technologist'
     }
   ]
 }

Si aun usado alguna vez Bases de datos relacionales, verán que Jobs tendría una tabla aparte con los campos employeer, role

En cambio e nuestra base de MongoDB tenemos la realación como documentos internos.

Instalación

MacOS sudo brew services start mongodb-community; mongo

Dependiendo del sistema operativo escojen su instalador.

Después de instalado probar el comando mongo esto deberia abrirles la terminal.

Primeros pasos

creemos una base de datos para jugar un poco. llamemola make_it_real_mongo

  • mongo
  • show dbs
  • use make_it_real_mongo
    • Este comando puede hacer dos cosas:
      • Crear una base de datos nueva.
      • Usar una ya existente.
  • db.createCollection("users");
    • Creemos una colleción llamada users.
  • show collections
  • db.users.insertOne(...);
    • Se crea un registro
    • db.users.insert([...]) el metodo anterior es lo mismo pero mara multiples inserciones al tiempo.
data to insert: { username: "jasmo2", name: "jaime", hobbies: ['coding', 'bikes', 'family time'] }

Filtrando y Listando documentos

Muchas veces necesitamos obtener los registros en nuestra DB, por lo tanto. Auquí los podriamos obtener por id o por otro atributo que se tenga en el documento.

Ej:

  • db.users.find({_id: ObjectId(...)})
  • db.users.find({name: 'jaime'})

También existen varias palabras clave que nos ayudarán a filtrar a la hora de listar resultados.

  • $or
  • $gt
  • $lt
  • $gte
  • $lte
  • $in
  • $and
Entre otros.

Actualizando documentos

Aquí mostraremos los casos con los cuales se puede actulizar un solo registro o todos los de la colección.

db.users.updateOne({ _id: ObjectId(...) }, { $set: { email: "[email protected]", name: "example" } });

Y para ultiples registros usamos:

db.users.update(<query>,<update>)

mongodb-makeitreal's People

Watchers

 avatar  avatar

Forkers

alejorondon

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.