是否可以使用颤振镖连接到本地MongoDB?

是否可以使用颤振镖连接到本地MongoDB?,mongodb,flutter,dart,serversocket,flutter-dependencies,Mongodb,Flutter,Dart,Serversocket,Flutter Dependencies,每次我尝试连接到本地MongoDB时,都会遇到以下异常: SocketException:OS错误:连接被拒绝,错误号=111,地址=localhost,端口=38748 有趣的事实:每次尝试后,异常中的端口都会增加两个,而且总是错误的(我甚至在服务器启动时,端口会抛出下一个异常) MongoDB服务器正在运行-I网络[initandlisten]等待端口27017上的连接 依赖项已设置- 依赖项: mongo_省道:^0.3.5 颤振: sdk:颤振 import 'package:mongo

每次我尝试连接到本地MongoDB时,都会遇到以下异常: SocketException:OS错误:连接被拒绝,错误号=111,地址=localhost,端口=38748

有趣的事实:每次尝试后,异常中的端口都会增加两个,而且总是错误的(我甚至在服务器启动时,端口会抛出下一个异常)

MongoDB服务器正在运行-I网络[initandlisten]等待端口27017上的连接

依赖项已设置-

依赖项: mongo_省道:^0.3.5 颤振: sdk:颤振

import 'package:mongo_dart/mongo_dart.dart' show Db, DbCollection;
class DBConnection {

  static DBConnection _instance;

  final String _host = "localhost";
  final String _port = "27017";
  final String _dbName = "debtservice";
  Db _db;

  static getInstance(){
    if(_instance == null) {
      _instance = DBConnection();
    }
    return _instance;
  }

  Future<Db> getConnection() async{
    if (_db == null){
      try {
        _db = Db(_getConnectionString());
        await _db.open();
      } catch(e){
        print(e);
      }
    }
    return _db;
  }

  _getConnectionString(){
    return "mongodb://$_host:$_port/$_dbName";
  }

  closeConnection() {
    _db.close();
  }

}
import'package:mongo_dart/mongo_dart.dart'show Db,DbCollection;
类DBConnection{
静态DBConnection_实例;
最后一个字符串_host=“localhost”;
最终字符串_port=“27017”;
最后一个字符串_dbName=“债务人服务”;
Db_Db;
静态getInstance(){
if(_instance==null){
_instance=DBConnection();
}
返回_实例;
}
Future getConnection()异步{
如果(_db==null){
试一试{
_db=db(_getConnectionString());
等待数据库打开();
}捕获(e){
印刷品(e);
}
}
返回_db;
}
_getConnectionString(){
返回“mongodb://$\u主机:$\u端口//$\u数据库名”;
}
closeConnection(){
_db.close();
}
}

我已经尝试在普通dart中运行此代码,但它仍在运行。

在设备或模拟器上运行时,您的
\u主机将不是本地主机-您需要指定MongoDB正在运行的计算机的实际IP地址或网络主机名。

好的,我现在修复了此问题

我必须使用我的家用设备的无线局域网适配器IP,并用--bind_IP-IP-启动mongodb。连接字符串中还必须提供ip


还是要感谢MichaelM。

更新mongo配置文件

 sudo nano  /etc/mongod.conf

 bindIp:127.0.0.1 ##### replace this line with below 

 bindIP:0.0.0.0  #### 
同时更改后,检查MongoDB的状态

 sudo service mongod status

现在MongoDB与颤振完美结合。

检查这个答案可能会有帮助:嗯,谢谢。错误111已解决,但我现在得到了一个113:cI在使用mongoDb时遇到了相同的问题,即使我将localhost更改为wifi ip地址192.168.1.1请参见ipconfig:IPv4地址………:192.168.1.4子网掩码………:255.255.255.0默认网关………:192.168.1.1