MongoDB no tiene un CREATE DATABASE
sentencia como lo hace SQL.
En MongoDB, crea una base de datos simplemente cambiando a una base de datos inexistente y luego insertando datos.
Ejemplo
Este es un ejemplo de creación de una nueva base de datos:
use PetHotel
Resultado:
switched to db PetHotel
Eso crea una nueva base de datos llamada PetHotel
y la convierte en la base de datos actual.
Sin embargo, la base de datos solo se crea parcialmente. No se crea completamente hasta que inserta datos.
Si ejecutamos el show dbs
comando para ver qué bases de datos tenemos, no se mostrará.
show dbs
Resultado:
admin 0.000GB config 0.000GB local 0.000GB
Este es el conjunto predeterminado de bases de datos que se instalaron con MongoDB. Si tiene otras bases de datos, también las verá aquí.
Pero el punto es que nuestro PetHotel
recién creado ¡La base de datos no se ve por ninguna parte!
Insertar datos
Para crear completamente la base de datos, necesitamos insertar algunos datos. Incluso una pequeña cantidad es suficiente.
Ejemplo:
db.pets.insert({ name: "Fetch" })
Resultado:
WriteResult({ "nInserted" : 1 })
Este mensaje nos dice que se insertó un documento.
Ahora, cuando ejecutamos show dbs
de nuevo, podemos ver nuestra base de datos recién creada.
show dbs
Resultado:
PetHotel 0.000GB admin 0.000GB config 0.000GB local 0.000GB
Colecciones
Una base de datos contiene colecciones. En nuestro caso, ya hemos creado una colección llamada pets
.
Cuando inserta datos, utiliza la sintaxis como esta:
db.<collection>.insert()
Donde <collection>
es el nombre de la colección en la que insertar datos. Si la colección no existe, se creará.
En nuestro caso, usamos el siguiente comando:
db.pets.insert({ name: "Fetch" })
Que creó una colección llamada pets
(porque aún no existía).
Comprobar los datos
Puedes usar find()
método de recopilación para comprobar los datos de la colección.
Ejemplo:
db.pets.find()
Resultado:
{ "_id" : ObjectId("5fe02d3937b49e0faf1af20b"), "name" : "Fetch" }
Como era de esperar, se devuelve nuestro documento.
Notarás que también tiene un campo extra. Tiene un _id
campo, que no especificamos cuando agregamos el documento.
El _id
campo es un campo especial. Se utiliza como identificador del documento. Si el documento no especifica un _id
entonces MongoDB agregará el _id
campo y asigne un ObjectId
único para el documento antes de insertarlo.
Alternativamente, puede proporcionar su propio _id
y asígnele su propio valor. Sin embargo, tenga en cuenta que el _id
el valor debe ser único dentro de la colección para evitar errores de clave duplicada.