【发布时间】:2021-06-21 08:21:20
【问题描述】:
我正在使用 MongoDB Atlas 和 Node.js。我正在尝试将文档插入集合“B99”,但出现错误:MongoError: Topology is closed, please connect。
这是我迄今为止尝试过的(来自其他帖子的答案,但都没有奏效):
- 将我的用户密码更改为只有字母(没有数字或符号)
- 最后删除
client.close();。 - 重新格式化我的代码,如下所示(从另一篇文章中获得“格式”)。
- 将我的 IP 添加到 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();
});
【问题讨论】:
-
您是否检查过传递给回调的错误?它说什么?
-
@RobertKawecki 它说
MongoServerSelectionError: connection <monitor> to 35.240.76.28:27017 closed -
insertOne 是异步的,需要等待它完成才能关闭客户端。
标签: node.js database mongodb mongodb-query