sql >> Base de Datos >  >> NoSQL >> MongoDB

Recuperar datos de mongodb usando el controlador C#

Supongo que solo necesita marcar la identificación de su blog con BsonId (e inserte id usted mismo) atributo:

public class Blog
{
    [BsonId]
    public String Id {get;set;}

    public String Title{get;set;}
}

Y todo debería estar bien. El problema se debió a que no marcó qué campo será Mongodb _id y el campo _id generado por el controlador con el tipo ObjectId. Y cuando el controlador intenta deserializarlo de nuevo, no puede convertir ObjectId a String.

Ejemplo 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();