MongoError:拓扑被破坏,NODEJS
Posted
技术标签:
【中文标题】MongoError:拓扑被破坏,NODEJS【英文标题】:MongoError: topology was destroyed, NODEJS 【发布时间】:2020-10-23 01:17:44 【问题描述】:我正在试用 MongoDB API,但在尝试使用 insertOne()
函数时遇到了 MongoError: topology was destroyed
。我不知道发生了什么,因为我对此很陌生。任何建议或帮助将不胜感激。
const MongoClient = require('mongodb').MongoClient;
const uri = "mongodb+srv://email:password@cluster0.9r3f9.mongodb.net";
const client = new MongoClient(uri, useNewUrlParser: true );
client.connect(mongoError =>
const col = client.db("mc").collection("mc").insertOne("license" : "1", "uuid" : 123)
console.log(col)
);
【问题讨论】:
【参考方案1】:client.connect()
应该接受 error
和 client
两个参数,并使用该对象执行查询。此外,由于您本机使用 mongodb 驱动程序(而不是 mongoose),因此您不需要使用 useNewUrlParser: true
。
即使这不能解决问题,请重新启动您的 mongodb 实例并检查。
const MongoClient = require("mongodb").MongoClient;
const uri = "mongodb+srv://email:password@cluster0.9r3f9.mongodb.net";
const client = new MongoClient(uri);
client.connect((err, client) =>
if(err)
console.error("ConnectionError::", err);
return;
const db = client.db("mc");
db.collection("mc").insertOne( license: "1", uuid: 123 , (err, result) =>
console.log(result);
);
);
注意:.insertOne()
是异步操作,也需要回调或async/await
才能正确显示查询结果。
【讨论】:
我已经尝试过了,但现在它在第 6 行返回TypeError: Cannot read property 'db' of undefined
。
@MaxPan 你试过重启 mongodb。检查回调是否发送error
a dn 有什么client
对象.. 更新代码以检查相同。以上是关于MongoError:拓扑被破坏,NODEJS的主要内容,如果未能解决你的问题,请参考以下文章