Motor de base de datos NoSQL para bases de datos orientadas a documentos.
MongoDB es la solución para las necesidades de bases de datos que se alejan de la gestión relacional tradicional: entra en una solución NoSQL utilizada por empresas como eBay y Forbes. La base de datos documental permite a los usuarios empezar a crear documentos en su base de datos sin necesidad de establecer una estructura documental, lo que permite a los usuarios editar sobre la marcha y escalar rápidamente. Debido a esta flexibilidad tanto en la estructura como en la gestión de los datos, MongoDB se utiliza a menudo como una solución de base de datos única para las empresas y organizaciones que tienen necesidades de bases de datos fluctuantes.
Construya su propia base de datos flexible con Linode's MongoDB Marketplace App.
Despliegue de la aplicación MongoDB Marketplace
El Linode Marketplace le permite desplegar fácilmente el software en un Linode utilizando el Linode Cloud Manager .
- Inicie sesión en el Cloud Manager y seleccione el enlace Marketplace en el menú de navegación de la izquierda. Esto muestra la página Linode Compute Create con la pestaña Marketplace preseleccionada.
- En la sección Seleccionar aplicación, seleccione la aplicación que desea desplegar.
- Rellene todas las opciones necesarias para la aplicación seleccionada, así como las opciones avanzadas que desee (que son opcionales). Consulte la sección Opciones de configuración para obtener más detalles.
- Rellene el resto del formulario tal y como se explica en la sección Creación de una instancia de computación.
- Haga clic en el botón Crear Linode. Una vez que Linode se haya aprovisionado y se haya encendido completamente, espere a que se complete la instalación del software. Si el Linode se apaga o se reinicia antes de ese momento, es probable que la instalación del software falle. Para determinar si la instalación se ha completado, abra la consola Lish de Linodey espere a que aparezca el indicador de inicio de sesión del sistema.
- Siga las instrucciones de la sección "Primeros pasos tras la implantación ".
La instalación del software debería completarse en 2-5 minutos después de que el Linode haya terminado el aprovisionamiento.
Opciones de configuración
Opciones de MongoDB
Estas son las opciones adicionales disponibles para esta Marketplace App:
Campo | Descripción |
---|---|
Contraseña del usuario administrador de MongoDB | La contraseña del usuario administrador de Mongo. Se requiere. |
Versión de MongoDB | Seleccione la versión de MongoDB que desea instalar. |
Correo electrónico de administración para el servidor | La dirección de correo electrónico de inicio de autoridad (SOA) para este servidor. Esta dirección de correo electrónico se añadirá al registro SOA del dominio. Este es un campo obligatorio si desea que el instalador cree registros DNS. |
Su Linode API Token | Su Linode API Token es necesario para crear registros DNS. Si esto se proporciona junto con el subdomain y domain la instalación intenta crear registros DNS a través de Linode API . Si no tiene un token, pero quiere que la instalación cree registros DNS, debe crear uno antes de continuar. |
Subdominio | El subdominio para el que desea que el instalador cree un registro DNS durante la instalación. La sugerencia dada es www . El subdominio sólo debe proporcionarse si también se proporciona un domain y API Token . |
Dominio | El nombre de dominio donde desea acceder a su aplicación. El instalador crea un registro DNS para este dominio durante la instalación si usted proporciona este campo junto con su API Token . |
El usuario sudo limitado que se creará para el Linode | Esta es la cuenta de usuario limitada que se creará para el Linode. Esta cuenta tiene privilegios de usuario sudo. |
La contraseña del usuario sudo limitado | Establezca una contraseña para el usuario sudo limitado. La contraseña debe cumplir con los requisitos de validación de complejidad para una contraseña fuerte. Esta contraseña se puede utilizar para realizar cualquier acción en su servidor, similar a la de root, así que hágala larga, compleja y única. |
La clave pública SSH que se utilizará para acceder al Linode | Si desea acceder a SSH a través de una clave pública (recomendado) en lugar de por contraseña, introduzca la clave pública aquí. |
¿Desactivar el acceso root a través de SSH? | Seleccione Yes para bloquear la cuenta raíz para que no pueda acceder al servidor a través de SSH. Seleccione No para permitir que la cuenta de root inicie sesión a través de SSH. |
Opciones generales
Para obtener consejos sobre cómo rellenar las opciones restantes en el formulario Create a Linode, consulte Crear una instancia de computación. Algunas opciones pueden estar limitadas o tener valores recomendados basados en esta Marketplace App:
- Distribuciones compatibles: Debian 11, Ubuntu 20.04 LTS
- Plan mínimo recomendado: Se pueden utilizar todos los tipos y tamaños de planes, aunque considere la posibilidad de utilizar una Instancia Computacional de Alta Memoria para bases de datos más grandes en un entorno de producción.
Cómo empezar después de la implantación
Acceder al Shell de MongoDB
Una vez que MongoDB ha terminado de desplegarse, puedes acceder y administrarlo directamente desde la consola.
- Inicie sesión en su instancia de computación a través de SSH o Lish.
- Inicie el mongo shell ejecutando el siguiente comando. Cuando se le solicite, introduzca la contraseña del usuario administrador que estableció al crear esta instancia.
mongo -u admin -p --authenticationDatabase admin
El-u
,-p
y--authenticationDatabase
en el comando anterior son necesarias para autenticar las conexiones al shell. Sin la autenticación, se puede acceder al shell de MongoDB pero no permitirá las conexiones a las bases de datos.Eladmin
es un usuario puramente administrativo basado en los roles especificados. Se define como un administrador de usuarios para todas las bases de datos, pero no tiene ningún permiso de base de datos en sí mismo. Puede utilizarlo para crear usuarios adicionales y definir sus roles. Si está utilizando varias aplicaciones con MongoDB, configure diferentes usuarios con permisos personalizados para sus correspondientes bases de datos.
Crear una tabla de usuarios
- Como el
admin
usuario, cree una nueva base de datos para almacenar los datos regulares del usuario para la autenticación. El siguiente ejemplo llama a esta base de datosuser-data
:use user-data
- Los permisos para las diferentes bases de datos se manejan en bases de datos separadas
roles
objetos. Este ejemplo crea el usuario,example-user
con permisos de sólo lectura para eluser-data
y tiene permisos de lectura y escritura para elexampleDB
que crearemos en el Gestionar datos y cobros Cree un nuevo usuario no administrativo para introducir los datos de prueba. Cambie ambosexample-user
ypassword
a algo relevante y seguro:db.createUser({user: "example-user", pwd: "password", roles:[{role: "read", db: "user-data"}, {role:"readWrite", db: "exampleDB"}]})
Para crear usuarios adicionales, repita este paso como usuario administrativo, creando nuevos nombres de usuario, contraseñas y roles sustituyendo los valores adecuados. - Salir del shell de mongo:
quit()
Para más información sobre el control de acceso y la gestión de usuarios, así como otros consejos para asegurar sus bases de datos, consulte la Documentación de Seguridad de MongoDB.
Gestionar datos y cobros
Gran parte de la popularidad de MongoDB proviene de su facilidad de integración. Las interacciones con las bases de datos se realizan a través de métodos de JavaScript, pero existen controladores para otros lenguajes. Esta sección demostrará algunas características básicas, pero le animamos a que investigue más en función de su caso de uso específico.
- Abrir el shell de MongoDB utilizando el comando
example-user
que creamos arriba:mongo -u example-user -p --authenticationDatabase user-data
- Cree una nueva base de datos. Este ejemplo la llama
exampleDB
:use exampleDB
Asegúrese de que el nombre de esta base de datos se corresponde con la que el usuario tiene permisos de lectura y escritura (añadimos estos permisos en la sección anterior).Para mostrar el nombre de la base de datos de trabajo actual, ejecute el comandodb
comando. - Crear un nuevo colección llamado
exampleCollection
:db.createCollection("exampleCollection", {capped: false})
Si no está familiarizado con la terminología de MongoDB, puede pensar en una colección como algo análogo a una tabla en un sistema de gestión de bases de datos relacionales. Para más información sobre la creación de nuevas colecciones, consulte la documentación de MongoDB sobre el Método db.createCollection().
Nota: Los nombres de las colecciones no deben incluir ciertos signos de puntuación, como los guiones. Sin embargo, es posible que no se produzcan excepciones hasta que se intente utilizar o modificar la colección. Para más información, consulte el manual de MongoDB restricciones de denominación
. - Cree datos de muestra para introducirlos en la base de datos de prueba. MongoDB acepta la entrada como documentos en forma de objetos JSON como los que aparecen a continuación. La página web
a
yb
se utilizan variables para simplificar la entrada; también se pueden insertar objetos directamente a través de funciones.var a = { name : "John Doe", attributes: { age : 30, address : "123 Main St", phone : 8675309 }} var b = { name : "Jane Doe", attributes: { age : 29, address : "321 Main Rd", favorites : { food : "Spaghetti", animal : "Dog" } }}
Tenga en cuenta que los documentos insertados en una colección no tienen por qué tener el mismo esquema, lo cual es una de las muchas ventajas de utilizar una base de datos NoSQL. - Inserte los datos en
exampleCollection
utilizando elinsert
método:db.exampleCollection.insert(a) db.exampleCollection.insert(b)
La salida de cada una de estas operaciones mostrará el número de objetos escritos con éxito en la base de datos de trabajo actual:WriteResult({ "nInserted" : 1 })
- Confirme que el
exampleCollection
se ha creado correctamente:show collections
La salida listará todas las colecciones que contengan datos dentro de la base de datos de trabajo actual:exampleCollection
- Ver los datos sin filtrar en el
exampleCollection
con la colecciónfind
método. Devuelve hasta los 20 primeros documentos de una colección, si no se pasa una consulta:db.exampleCollection.find()
La salida se parecerá a la siguiente:{ "_id" : ObjectId("5e68d4618bd4ea23cc3f5e96"), "name" : "John Doe", "attributes" : { "age" : 30, "address" : "123 Main St", "phone" : 8675309 } } { "_id" : ObjectId("5e68d4628bd4ea23cc3f5e97"), "name" : "Jane Doe", "attributes" : { "age" : 29, "address" : "321 Main Rd", "favorites" : { "food" : "Spaghetti", "animal" : "Dog" } } }
Puede observar que los objetos que introducimos van precedidos de_id
llaves yObjectId
valores. Son índices únicos generados por MongoDB cuando un_id
no está definido explícitamente.ObjectId
se pueden utilizar como claves primarias al introducir consultas, aunque para facilitar su uso, es posible que desee crear su propio índice como lo haría con cualquier otro sistema de base de datos.Elfind
también puede utilizarse para buscar un documento o campo específico introduciendo un parámetro de término de búsqueda (en forma de objeto) en lugar de dejarlo vacío. Por ejemplo:db.exampleCollection.find({"name" : "John Doe"})
La ejecución del comando anterior devuelve una lista de documentos que contienen el{"name" : "John Doe"}
objeto:{ "_id" : ObjectId("5e68d4618bd4ea23cc3f5e96"), "name" : "John Doe", "attributes" : { "age" : 30, "address" : "123 Main St", "phone" : 8675309 } }
La aplicación MongoDB Marketplace ha sido creada por Linode. Para obtener ayuda sobre la implantación de la aplicación, póngase en contacto con el servicio de asistencia técnica de Linode a través de la información que aparece en la barra lateral. Para obtener soporte sobre la herramienta o el software en sí, visite el sitio web de MongoDB Community.