sql >> Database >  >> NoSQL >> MongoDB

Gegevens ophalen van mongodb met behulp van C#-stuurprogramma

Ik veronderstel dat je gewoon je blog-ID moet markeren met BsonId (en voer zelf een id in) kenmerk:

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

    public String Title{get;set;}
}

En alles zou in orde moeten zijn. Het probleem was omdat je niet hebt gemarkeerd welk veld Mongodb _id zal zijn en het door een driver gegenereerde _id-veld met het type ObjectId. En wanneer de bestuurder het terug probeert te deserialiseren, kan hij ObjectId niet converteren naar String.

Compleet voorbeeld:

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


  1. Mongodb - null-velden recursief verwijderen?

  2. StackExchange.Redis:batchtoegang voor meerdere hashes

  3. Update array in Mongo-document werkt niet

  4. MongoDB - Verzamel meerdere rijen