Вопрос по c#, mongodb – mongodb аутентификация со строкой подключения

3

Строка подключения для процесса Mongo имеет параметр / database. Что это значит? Означает ли это, что он аутентифицирует конкретную базу данных на сервере Монго. Спасибо заранее

Ваш Ответ

5   ответов
5

как правило, не используете опцию добавления имени базы данных в строку подключения. Он частично поддерживается для обеспечения некоторого уровня совместимости с другими драйверами.

MongoServer.Create игнорирует имя базы данных. Любые учетные данные (имя пользователя / пароль) в строке подключения используются в качестве учетных данных по умолчанию для всех баз данных.

Имя базы данных используется только MongoDatabase.Create, которая вызывает MongoServer.Create, а затем просто вызывает GetDatabase для вас.

Так:

var connectionString = "mongodb://localhost/database";
var database = MongoDatabase.Create(connectionString);

это просто ярлык для:

var connectionString = "mongodb://localhost";
var server = MongoServer.Create(connectionString);
var database = server.GetDatabase("database");

На самом деле никакой аутентификации не происходит, пока вы сначала не попытаетесь использовать базу данных.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Himani Talesara
Error: User Rate Limit Exceeded Himani Talesara
Error: User Rate Limit Exceeded Himani Talesara
0

вателем mongodb, созданным в базе данных администратора, и паролем mongodb на localhost: 27017. Вам не нужно вызывать Connect () - драйвер сделает это автоматически по мере необходимости.

Error: User Rate Limit Exceeded Himani Talesara
Error: User Rate Limit Exceeded Himani Talesara
0

что учетная запись пользователя была создана в базе данных администратора, и предполагая, что вы используете программу интерфейса командной строки (C, LI) под названием "mongo" Вы можете подключиться к репликации из 3 узлов с помощью имени пользователя и пароля с помощью следующего:

Syntax:

mongo --host "<replicaset name>/<host 1 resolvable name>:<host 1 port>,<host 2 resolvable name>:<host 2 port>,<host 3 resolvable name>:<host 3 port>" --username <username> --password <password> --authenticationDatabase <database name>

Example:

mongo --host "replset1/ip-172-31-48-110.eu-west-1.compute.internal:27017,ip-172-31-116-186.eu-west-1.compute.internal:27017,ip-172-31-29-140.eu-west-1.compute.internal:27017" --username barry --password supersecretpassword --authenticationDatabase admin
0

Если база данных отсутствует, она установит соединение и при создании нового объекта создаст экземпляр базы данных.

Error: User Rate Limit Exceeded Himani Talesara
Error: User Rate Limit Exceeded Himani Talesara
2

var cliente = new MongoClient("mongodb://usuariocualquiera:[email protected]:27017/BASEDEDATOS");

и можно было позвонить

var collection = database.GetCollection<BsonDocument>("CUALQUIERCOLECCION");

Похожие вопросы