Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

541
Views
"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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!