2
respostas

Complia, Executa, mas nada é listado(2)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MongoDB.Bson;
using MongoDB.Driver;

namespace exemplosMongoDB
{
    class listandoDocumentos
    {

        static void Main(string[] args)
        {
            Task T = MainAsync(args);
            Console.WriteLine();
            Console.WriteLine("Pressione Enter");
            Console.ReadLine();
        }
        static async Task MainAsync(string[] args)
        {

            var conexaoBiblioteca = new conectandoMongoDB();
            Console.WriteLine("Listando Documentos");


            var listaLivros = await conexaoBiblioteca.Livros.Find(new BsonDocument()).ToListAsync();

            foreach (var doc in listaLivros)
            {
                Console.WriteLine(doc.ToJson<Livro>());

            }



        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MongoDB.Driver;
using MongoDB.Bson;

namespace exemplosMongoDB
{
    class conectandoMongoDB
    {

        public const string STRING_DE_CONEXAO = "mongodb://localhost:27017";
        public const string NOME_DA_BASE = "Biblioteca";
        public const string NOME_DA_COLECAO = "Livros";

        private static readonly IMongoClient _cliente;
        private static readonly IMongoDatabase _BaseDeDados;

        static conectandoMongoDB()
            {
            _cliente = new MongoClient(STRING_DE_CONEXAO);
            _BaseDeDados = _cliente.GetDatabase(NOME_DA_BASE);

            }

        public IMongoClient Cliente
        {
            get { return _cliente; }
        }

        public IMongoCollection<Livro> Livros
        {
            get { return _BaseDeDados.GetCollection<Livro>(NOME_DA_COLECAO); }
        }
    }
}

Poderiam me ajudar, revisei o código e não encontro problemas, na saída recebo o seguinte erro : Exception thrown: 'System.FormatException' in mscorlib.dll. Obrigado.

2 respostas

Olá, jrick166

Dê uma olhada nesse código:

            foreach (var doc in listaLivros)
            {
                Console.WriteLine(doc.ToJson<Livro>());
            }

O objeto doc pode ser convertido para Livro? Tem certeza de que o erro não acontece por causa de uma referência nula?

Boa tarde, efetuei testes utilizando o "projeto do professor - classe listandoDocumentos", e encontrei o mesmo erro. Utilizei um breakpoint e a lista do banco retorna null. var listaLivros = await conexaoBiblioteca.Livros.Find(new BsonDocument()).ToListAsync(); Estou utilizando o VS2017 comunity.