【问题标题】:Unable to create database via mongo compass无法通过 mongo compass 创建数据库
【发布时间】:2019-07-26 04:55:06
【问题描述】:

在 mongodb 中创建数据库会引发拓扑错误。

拓扑被破坏

附上截图

【问题讨论】:

    标签: node.js mongodb mongodb-compass


    【解决方案1】:

    Topology was destroyed 错误来了,当 mongodb 正在写东西并且连接在中间关闭/中断。

    查看引发此错误的code

    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 指南针,以确保更安全,您应该能够创建集合而不会出现任何错误。

    【讨论】:

    • 谢谢拉维,我在等待的时候搬到了机器人 3t,现在它工作正常,我认为是指南针才是罪魁祸首
    • 问题是通过罗盘与 mongodb 建立的连接,而不是罗盘本身。 robo3T 也会出现同样的错误(根据个人经验)。您只需要创建一个新连接(重新启动 robo3t/compass),然后继续您的查询。有时您可能还需要重新启动 mongodb。
    猜你喜欢
    • 1970-01-01
    • 2016-07-02
    • 1970-01-01
    • 2019-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-17
    • 1970-01-01
    相关资源
    最近更新 更多