Топология замкнута

#javascript #node.js #mongodb

Вопрос:

Я новичок в MongoDB. Когда я запускаю приведенный ниже код, я получаю сообщение об ошибке: Topology is closed . Я хочу создать документ в коллекции. Почему это происходит и как я могу это исправить? Я бы оценил любую помощь.

 const { MongoClient } = require('mongodb');
const uri = "mongodb srv://(login info)@cluster0.56skb.mongodb.net/myFirstDatabase?retryWrites=trueamp;w=majority";
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
client.connect(err => {
 const db = client.db("test");
 async function mongo () {
   await db.collection('a').insertMany([
  { item: "journal",
    qty: 25,
    size: { h: 14, w: 21, uom: "cm" },
    status: "A"},
  { item: "notebook",
    qty: 50,
    size: { h: 8.5, w: 11, uom: "in" },
    status: "A"},
  { item: "paper",
    qty: 100,
    size: { h: 8.5, w: 11, uom: "in" },
    status: "D"},
  { item: "planner",
    qty: 75, size: { h: 22.85, w: 30, uom: "cm" },
    status: "D"},
  { item: "postcard",
    qty: 45,
    size: { h: 10, w: 15.25, uom: "cm" },
    status: "A"}
])
.then(function(result) {
  // process result
})
 }
  mongo()
const collection = client.db("test").collection("devices");
  // perform actions on the collection object
  client.close();
});
 

Комментарии:

1. Я сделал все это, и я получаю ошибку: «Не удается использовать сеанс, который закончился» Я пытался исправить это в течение нескольких часов, но безуспешно. Не могли бы вы помочь мне, пожалуйста, фуртер?

2. Наконец-то я все исправил. Я использовал другой метод/структуру кода. Спасибо вам за помощь!

Ответ №1:

1 — Проверьте имя и пароль своей базы данных.
2 — Откройте Mongodb atlas и в разделе «Доступ к сети» измените IP — адрес на «0.0.0.0/0 (включает ваш текущий IP-адрес) «.
3-Возможно, вы можете попробовать добавить «ожидание» перед client.close().