MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Recuperar dados do mongodb usando o driver C#


Suponho que você só precise marcar o ID do seu blog com BsonId (e insira o id você mesmo) atributo:
public class Blog
{
    [BsonId]
    public String Id {get;set;}

    public String Title{get;set;}
}

E tudo deve ficar bem. O problema foi porque você não marcou qual campo será o Mongodb _id e o campo _id gerado pelo driver com o tipo ObjectId. E quando o driver tenta desserializá-lo de volta, ele não pode converter ObjectId em String.

Exemplo completo:
MongoCollection collection = md.GetCollection<Blog>("blog");
var blog = new Blog(){Id = ObjectId.GenerateNewId().ToString(), 
                      Title = "First Blog"};
collection .Insert(blog);

MongoCursor<Blog> cursor = collection.FindAllAs<Blog>();
cursor.SetLimit(5);

var list = cursor.ToList();