在 mongodb 中创建数据库并引发拓扑错误。
拓扑被破坏
附上截图
Topology was destroyed
错误来了,当 mongodb 正在写东西并且连接在中间关闭/中断时。
查看引发此错误的代码:
Mongos.prototype.insert = function(ns, ops, options, callback) {
if(typeof options == 'function') callback = options, options = {}, options = options || {};
if(this.state == DESTROYED) return callback(new MongoError(f('topology was destroyed')));
// Not connected but we have a disconnecthandler
if(!this.isConnected() && this.s.disconnectHandler != null) {
return this.s.disconnectHandler.add('insert', ns, ops, options, callback);
}
// No mongos proxy available
if(!this.isConnected()) {
return callback(new MongoError('no mongos proxy available'));
}
// Execute write operation
executeWriteOperation(this, 'insert', ns, ops, options, callback);
}
解决方案 :
请重新启动您的 mongodb 和 MongoDB 指南针,只是为了更安全,您应该能够创建集合而不会出现任何错误。