Я ссылаюсь на mongo в своем файле docker-compose-test следующим образом:< /p>
Код: Выделить всё
mongo:
image: mongo
restart: always
ports:
- 27017:27017
environment:
MONGO_INITDB_ROOT_USERNAME: username
MONGO_INITDB_ROOT_PASSWORD: password
Код: Выделить всё
"MongoConnectionString": "mongodb://username:password@localhost:27017"
Тем не менее, в моем коде я загружаю контекст монго следующим образом:
Код: Выделить всё
// Create mongo class map
Mapper.CreateMaps();
string connectionString = configuration.GetValue("ConnectionStrings:MongoConnectionString");
string mongoDataBase = configuration.GetValue("MongoDataBases:MongoDataBaseName");
_client = new MongoClient(connectionString);
_database = _client.GetDatabase(mongoDataBase);
Код: Выделить всё
// GetTypedMongoCollection returns a IMongoCollection
var collection = mongoContext.GetTypedMongoCollection();
Произошло время ожидания после 30 000 мс при выборе сервера с помощью CompositeServerSelector{ Selectors = MongoDB.Driver .MongoClient+AreSessionsSupportedServerSelector, LatencyLimitingServerSelector
{AllowedLatencyRange = 00:00:00.0150000 } }. Клиентское представление состояния кластера: { ClusterId: "1", ConnectionMode: "Автоматический", Тип: "Неизвестно", Состояние: "Отключено",
Серверы: [{ ServerId: "{ ClusterId: 1, EndPoint: " Unspecified/localhost:27017" }", EndPoint: "Unspecified/localhost:27017", Состояние: "Отключено", Тип: "Неизвестно", HeartbeatException: "MongoDB.Driver.MongoConnectionException: произошло исключение при открытии соединения с сервером . ---> MongoDB.Driver.MongoAuthenticationException: невозможно пройти аутентификацию с использованием механизма протокола sasl SCRAM-SHA-1 ---> MongoDB.Driver.MongoCommandException: Ошибка команды saslStart: аутентификация не выполнена
Я заметил, что там упоминается «Не указано», и в этом, как я понимаю, проблема, но если это так, то как правильно построить строку подключения к mongo? Насколько я понимаю, это так? Далее следует: у нас есть CTX, мы вызываем GetDatabase, который создаст БД, если она не существует, а затем, когда мы вызываем GetCollection, она должна создать коллекцию, если она не существует. Где я ошибся?
Подробнее здесь: https://stackoverflow.com/questions/546 ... er-30000ms
Мобильная версия