sql >> Base de Datos >  >> NoSQL >> MongoDB

El tutorial básico de MongoDB

MongoDB es una base de datos NoSQL. Bajo el NoSQL Paraguas ponemos todas aquellas bases de datos que no utilizan el lenguaje SQL para la consulta de los datos.

Características clave de MongoDB

MongoDB es una base de datos muy compatible con JavaScript. Expone una API de JavaScript que podemos usar para crear bases de datos y colecciones de objetos (llamados documentos ).

Es sin esquema , lo que significa que no necesita predefinir una estructura para los datos antes de almacenarlos.

En MongoDB puede almacenar cualquier objeto sin tener que preocuparse por los campos particulares que componen este objeto y cómo almacenarlos. Le dices a MongoDB que almacene ese objeto.

Los datos se almacenan en un formato similar a JSON, pero mejorado para permitir almacenar más que solo tipos de datos básicos.

Instalación

Sigamos adelante e instalemos MongoDB. Puede usar uno de los muchos proveedores de nube que ofrecen acceso a una instancia de MongoDB, pero para aprender, lo instalaremos nosotros mismos.

Uso una Mac, por lo que las instrucciones de instalación de este tutorial se refieren a ese sistema operativo.

Abre la terminal y ejecuta:

brew tap mongodb/brew
brew install mongodb-community

Eso es todo.

Las instrucciones no fueron demasiado largas ni complicadas, suponiendo que sepa cómo usar la terminal y cómo instalar Homebrew.

La instalación nos dice esto:

To have launchd start mongodb now and restart at login:
  brew services start mongodb-community
Or, if you don't want/need a background service you can just run:
  mongod --config /usr/local/etc/mongod.conf

Puede elegir iniciar MongoDB una vez y tenerlo ejecutándose para siempre como un servicio en segundo plano en su computadora (lo que prefiero), o puede ejecutarlo justo cuando lo necesite, ejecutando el último comando.

La configuración predeterminada para MongoDB es esta:

systemLog:
  destination: file
  path: /usr/local/var/log/mongodb/mongo.log
  logAppend: true
storage:
  dbPath: /usr/local/var/mongodb
net:
  bindIp: 127.0.0.1

Los registros se almacenan en /usr/local/var/log/mongodb/mongo.log y la base de datos se almacena en /usr/local/var/mongodb .

Por defecto no hay control de acceso, cualquiera puede leer y escribir en la base de datos.

La concha Mongo

La mejor manera de experimentar con MongoDB y comenzar a interactuar con él es ejecutando mongo programa, que inicia el shell de MongoDB.

Ahora puede ingresar cualquier comando que Mongo entienda.

Crear una base de datos

Cuando comienza, Mongo crea una base de datos llamada test . Ejecutar db en el shell para decirle el nombre de la base de datos activa

Para cambiar la base de datos, simplemente escribe use newname y el newname la base de datos se creará instantáneamente y el shell cambiará para usarla.

Usar show databases para listar las bases de datos disponibles:

Como puede ver, el something la base de datos no está en la lista, solo porque aún no hay una colección en ella. Vamos a crear uno.

Colecciones

En MongoDB, una colección es el equivalente de una tabla de base de datos SQL.

Crea una colección en la base de datos actual usando db.createCollection() dominio. El primer argumento es el nombre de la base de datos y puede pasar un objeto de opciones como segundo parámetro.

Una vez que lo haga, show databases listará la nueva base de datos y show collections enumerará la colección.

También puede crear una nueva colección usándola como una propiedad de db objeto y llamando a insert() para agregar un objeto a la colección:

db.dogs.insert({ name: 'Roger' })

Listar objetos en una coleccion

Para mostrar los objetos agregados a una colección, use find() método:

Como puede ver, hay un _id adicional propiedad para el registro que agregamos. MongoDB lo genera automáticamente para nosotros.

Ahora, agrega más perros:

db.dogs.insert({ name: 'Buck' })
db.dogs.insert({ name: 'Togo' })
db.dogs.insert({ name: 'Balto' })

Llamando a db.dogs.find() nos dará todas las entradas, mientras que podemos pasar un parámetro para filtrar y recuperar una entrada específica, por ejemplo con db.dogs.find({name: 'Roger'}) :

El find() El método devuelve un cursor sobre el que necesita iterar.

Hay otro método que es útil cuando sabe que solo obtendrá un registro, que es findOne() , y se usa de la misma manera. Si varios registros coinciden con una consulta, solo devolverá el primero.

Actualización de registros

Para actualizar un registro puede usar update() método en una colección:

Eliminar registros

Puede eliminar un registro llamando a remove() método en una colección, pasando un objeto para ayudar a identificarlo:

Para eliminar todas las entradas de una colección, pase un objeto vacío:

db.dogs.remove({})