es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La conexión M1 Apple Silicon MongoDB crea una nueva base de datos y también afecta el despliegue de Docker.

La semana pasada compré un nuevo MBP M1 Max y empecé a trasladar mi entorno de desarrollo. Casi todo, como Nodejs y nuestros proyectos, se trasladaron sin problemas, sin embargo, tuve un problema con Docker. Resulta que necesitaba indicarle a Docker que compilase en un entorno Linux para resolver los problemas con BCRYPT.

Lo que desconocía es que aparentemente, la implementación en el entorno QA no tenía una buena conexión con la base de datos. Descubrí que la compilación se conecta al servidor, crea una base de datos llamada “test” y aparentemente utiliza esa base de datos en lugar de la indicada en la URL.

Para depurar, tomé la URL de QA y la utilicé en el entorno de desarrollo y obtuve el mismo comportamiento.

Con mi antiguo Mac Intel, realicé pull completo e instalaciones de npm para que todo coincidiera y, adivinen qué, ¡funciona! Todo lo que funcionaba el jueves en el Mac Intel funciona con las actualizaciones de la biblioteca y del código desde entonces en el Mac Intel. Pero en el M1 Mac… no falla, ¡simplemente crea una nueva base de datos! Por cierto, las implementaciones de Docker en QA también funcionan en el Mac Intel. Algo en el M1 Mac está causando este problema.

Esto ni siquiera tiene sentido como un error que uno podría experimentar debido a un cambio de chip.

Aquí está nuestra URL de base de datos QA sin la información que la haría pública. Está alojada en MongDB Atlas. ¿Alguien más está experimentando este comportamiento? ¿Alguien tiene alguna solución alternativa?

login: mongodb+srv://fake:password@cluster0.something.mongodb.net/databasenameqa?replicaSet=atlas-12hyiw-shard-0&readPreference=primary&connectTimeoutMS=10000&authSource=admin&authMechanism=SCRAM-SHA-1

Voy a enviar esto al git para Mongo en Node. También acabo de revisar mi URL de conexión de localhost y se ve así:

mongodb://localhost:27017/databasenamedev

Por lo tanto, no es el nombre de la base de datos después de la barra diagonal lo que está causando el problema.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Problemas con la conexión de base de datos MongoDB en Mac M1

    Antecedentes

    La persona recientemente compró un nuevo MBP M1 Max y estaba instalando su entorno de desarrollo. Node.js y sus proyectos no presentaron problemas en la instalación, sin embargo, Docker presentó problemas con BCRYPT. El problema se resolvió al compilar en un entorno Linux. Sin embargo, al implementar en QA, hubo un problema con la conexión a la base de datos.

    El problema

    Al implementar en QA, se creó una nueva base de datos llamada “test” en lugar de la base de datos especificada en la URL. Después de la depuración y las pruebas, se identificó que el problema sólo existía en la Mac M1 y no en las Macs antiguas con procesador Intel. Este comportamiento es inesperado y no tiene sentido que sea un error debido al cambio de chip.

    Resolución

    La persona planea llevar el problema a la comunidad de MongoDB de git para node. Mientras tanto, han revisado la URL de conexión local y determinado que el problema no está en el nombre de la base de datos después de la barra diagonal en la URL. Cualquier persona que experimente el mismo problema o tenga una solución alternativa es bienvenida para proporcionar información.

    Tecnologías relevantes

    • Node.js
    • MongoDB
    • Docker
    • Apple M1

Comments are closed.