Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

552
Vistas
"MongoError: la topología está cerrada, conéctese" en el programa MongoDB y NodeJS

Estoy usando MongoDB Atlas y Node.js. Estoy tratando de insertar un documento en la colección "B99", pero aparece el error: MongoError: Topology is closed, please connect .

Esto es lo que he intentado hasta ahora (de las respuestas en otras publicaciones, pero ninguno de ellos ha funcionado):

  1. Cambiar mi contraseña para el usuario a solo letras (sin números ni símbolos)
  2. Eliminando client.close(); al final.
  3. Reformateando mi código como se muestra a continuación (obtuve el "formato" de otra publicación).
  4. Agregar mi IP a la lista blanca en la página de acceso a la red en MongoDB Atlas.
 var MongoClient = require('mongodb').MongoClient; const MongoUsername = process.env.MONGO_USERNAME const MongoPassword = process.env.MONGO_PASSWORD var uri = "mongodb+srv://" + MongoUsername + ":" + MongoPassword + "@testcluster.8mz1j.mongodb.net/BrooklynNineNine?retryWrites=true&w=majority"; const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true }); client.connect(err => { const collection = client.db("BrooklynNineNine").collection("B99"); const pizzaDocument = { name: "Neapolitan pizza", shape: "round", toppings: [ "San Marzano tomatoes", "mozzarella di bufala cheese" ] }; const result = collection.insertOne(pizzaDocument); // perform actions on the collection object //client.close(); });
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Resuelto. Necesario poner insertOne y client.close() en una función asíncrona (gracias @D. SM), así:

 const client = new MongoClient(uri, { userNewUrlParser: true, useUnifiedTopology: true, }); async function insert(client) { try { await client.connect(); const database = client.db("BrooklynNineNine"); const movies = database.collection("B99"); // create a document to be inserted const doc = { name: "Red", town: "kanto" }; const result = await movies.insertOne(doc); console.log("Done"); } finally { await client.close(); } } insert(client).catch(console.dir);
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda