3
respostas

Não conseguir criar o banco e armazenar o documento

fiz de acordo com a aula todos os processos e tudo ocorreu bem mas quando eu entro no Robo 3T não apresenta nenhum banco criado. tentei criar manualmente no banco e passar ele na string de conexão para ver se iria inserir as informações no banco mas mesmo assim não adiantou nada.

a minha conexão esta assim:

conexão mongo

meu código:

var doc = new BsonDocument { {"Titulo","Guerra dos Tronos" } }; doc.Add("Autor", "Georde R R Martin"); doc.Add("Ano", 1999); doc.Add("Páginas", 856);

        //criando um array de informações json para armmazenar o banco mongoDB
        var assuntoArray = new BsonArray();
        assuntoArray.Add("Fantasia");
        assuntoArray.Add("Ação");

        doc.Add("Assunto", assuntoArray);

        var resposta = doc;



        // acesso ao servidor do mongoDB
        string stringConexao = "mongodb://localhost:27017";
        IMongoClient cliente = new MongoClient(stringConexao);

        // acesso ao banco de dados
        IMongoDatabase bancoDados = cliente.GetDatabase("Biblioteca");

        // acesso a coleção
        IMongoCollection<BsonDocument> colecao = bancoDados.GetCollection<BsonDocument>("Livros");

        //incluindo documento
        await colecao.InsertOneAsync(doc);
3 respostas

O meu problema é o mesmo do colega acima: Paulo Ricardo Silva de Araujo,

vi que quando chega no seguinte ponto, a aplicação simplesmente pula:

IMongoClient cliente = new MongoClient(stringConexao);

a string de conexao é esta: string stringConexao = "mongodb://localhost:27017";

Eu resolvi baixando a versão mais atual do mongo 5.0.6 com o MongoDbCompass.

Legal, acabei de resolver da seguinte forma:

Sabe aqueles pacotes Nuget: MongoDB.Bson, MongoDB.Driver, MongoDB.Driver.Core ?

então, apenas o primeiro estava com a versão 2.4.4

e os outros, estavam na versão 2.15.0

este era o problema.

static void Main(string[] args)
{

    Task T = MainASync(args);


    Console.WriteLine("Pressione ENTER");
    Console.ReadLine();
}

e no trecho acima, a variavel T estava mostrando que havia uma exceção, e fui verificar e estava mostrando que ele não havia conseguido encontrar um método: Método não encontrado: 'Void MongoDB.Driver.ReadPreference..ctor(MongoDB.Driver.ReadPreferenceMode, System.Collections.Generic.IEnumerable1<MongoDB.Driver.TagSet>, System.Nullable1<System.TimeSpan>)'.

e era por causa do que mencionei acima, a versão dos pacotes.

Abraço.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software