open method

Future open({
  1. WriteConcern writeConcern = WriteConcern.acknowledged,
  2. bool secure = false,
  3. bool tlsAllowInvalidCertificates = false,
  4. String? tlsCAFile,
  5. String? tlsCertificateKeyFile,
  6. String? tlsCertificateKeyFilePassword,
})

Implementation

Future open(
    {WriteConcern writeConcern = WriteConcern.acknowledged,
    bool secure = false,
    bool tlsAllowInvalidCertificates = false,
    String? tlsCAFile,
    String? tlsCertificateKeyFile,
    String? tlsCertificateKeyFilePassword}) async {
  if (state == State.opening) {
    throw MongoDartError('Attempt to open db in state $state');
  }

  state = State.opening;
  _writeConcern = writeConcern;
  _connectionManager = ConnectionManager(this);

  for (var uri in _uriList) {
    _connectionManager!.addConnection(await _parseUri(uri,
        isSecure: secure,
        tlsAllowInvalidCertificates: tlsAllowInvalidCertificates,
        tlsCAFile: tlsCAFile,
        tlsCertificateKeyFile: tlsCertificateKeyFile,
        tlsCertificateKeyFilePassword: tlsCertificateKeyFilePassword));
  }
  try {
    await _connectionManager!.open(writeConcern);
  } catch (e) {
    state = State.init;
    await _connectionManager!.close();
    rethrow;
  }
}