• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

Geekebrains

Para programadores, maker y geeks en general

  • Inicio
  • Zona Coders!
  • Zona Makers!
You are here: Home / Qué es ...? / MongoDb

13 julio, 2019 Por admin8049 Leave a Comment

MongoDb

MongoDb es una Base de datos de las llamadas NoSQL. Es decir que no se consultan con el lenguaje SQL, sino con métodos, otra característica principal es que almacena los datos en formato JSON mediante BSON (que básicamente es lo mismo pero con las longitudes de los campos y en formato binario), para localizar la información más rápidamente.

Al utilizar JSON, es un tipo de base datos que funciona perfectamente con framework y plataformas desarrolladas en JavaScript, es el complemento ideal de NodeJS.

Las principales características son que está orientada a documentos, es altamente escalable, indexable, con un rendimiento muy superior en algunos casos a las bases de datos SQL, los procedimientos almacenados son en JavaScript, y permite colecciones de tamaño fijo.

Diferencias:

  • Esquemas. Podemos almacenar documentos complejos como registros. Los datos relacionados pueden ir en el mismo registro/documento.
  • Escalabilidad. Podemos añadir más campos o nuevos sin redefinir nada. MapReviews y Big Data. Se pueden hacer consultas sobre distintas porciones de datos. Se pueden distribuir distintos rangos de valores en distintos servidores.
  • Velocidad. Son muchísimo más rápidas en muchos factores que las SQL.
  • Multiplataforma
  • OpenSource

Terminología

Los registros o filas de llaman documentos.

Las colecciones son equivalentes a las tablas, pero cada registro puede tener una estructura distinta, e incluso más registros.

La columna se llamará campo.

Se pueden crear índices tambien.

El Id es el único campo obligatorio, y se suele utilizar el UUID que crea el propio MongoDB.

MongoDB on-line Free (Gratis)

En estos momentos MongoDb a través de Google Cloud regala un alojamiento de 500Mb gratis, hay un enlace desde la Web de

https://www.mongodb.com/

Comandos

show db

Muestra las bases de datos disponibles.

use nombreBD

Pone como activa una base de datos en concreto.

show collections

Muestra la colecciones de una BD.

db.nombreColeccion.insert({JSON})

Inserta el documento JSON en la colección con el nombre indicado.

db.nombreColeccion.find().pretty()

Busca los documentos de la colección.

Si utilizas al final .pretty() y muestra el resultado de forma más legible.

db.system.indexes.find()

Nos devuelve todos los índices creados, por defecto uno por cada id de cada tabla.

db.nombreColeccion.remove({filtro})

Permite eliminar documentos.

db.nombreColeccion.update({filtro}, {update})

Actualiza documentos.

//Actualiza campos
db.personas.update({nombre="Paco"}, {nombre:"Pepe"})

//Añade campos
db.personas.update({nombre="Paco"}, {$set: {edad: 43})

//Incrementar un valor, decrementar, lo mismo en negativo
db.personas.update({nombre="Paco"}, {$inc: {edad: 1})

//Incrementar un valor, tambien en los que no existe el campo
db.personas.update({}, {$inc: {edad: 1}, false, true)

db.dropDatabase()

Elimina la base de datos activa.

db.system.indexes.find()

Lista los índices de la bd.

Filed Under: Qué es ...?, Zona Coders! Tagged With: JSON, MongoDb, NodeJS, NoSQL

Previous Post: « Node JS [Guia Rápida]
Next Post: QWeb en Odoo »

Reader Interactions

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Primary Sidebar

Categorías

  • Cómo …?
  • Experimentos
  • GeekeBlocks
  • Noticias Geek
  • Proyectos
  • Qué es …?
  • Quién es …?
  • Zona Coders!
  • Zona Junior!
  • Zona makers!

Etiquetas

Antipatrones de diseño de software Arduino Arquitectura de software base64 Bases de Datos cer cert Certificados Digitales Clean Code Code Smells DBeaver Diseño de Software docker docker-compose Domain Drive Design Edición de video https IDE Java javascript jest lenguajes de programación Librerías de JavaScript lsoft MongoDb MySQL NodeJS NoSQL odoo openssl Oracle package.json Patrones de Diseño de Software pem plugins Postgres Prettier ReactJS Refactoring shell SQL Developer de Oracle SSL TypeScript utilidades de software Visual Studio Code

Entradas recientes

  • Lenguaje ubicuo en Domain-Driven Design (DDD)
  • NestJs
  • Docker-compose y mongoDB: Failed to start up WiredTiger under any compatibility version?
  • Ponerle nombre a las cosas: camelCase, snake_case, kebab-case, PascalCase, MACRO_CASE y Train_Case
  • OBS – Open Broadcaster Software
  • Duck typing
  • Patrón de arquitectura: Backend for Frontend – BFF
  • SaaS, PaaS y IaaS
  • Notion
  • GitHub Actions
Jesús A. Carballo Santaclara

Empezé trasteando en los 80' con un ZX espectrum, después pasé al potente "PC 8086" (jeje...). He trabajado haciendo software para la administración pública, para Hospitales, el sector de la Automoción, el sector Bancario, en algún e-Commerce de alguna multinacional y he emprendido en robótica educativa y en buscadores web.
Trabajo de forma profesional en esto de los ordenadores desde hace mas de 25 años espero poder contarte alguna cosa interesante.

Footer

Copyright © 2023 · GeekeZonia · Aviso Legal · Política de Cookies · Política de Privacidad · Log in