मुझे लगता है कि आपको बस अपनी ब्लॉग आईडी को BsonId
. से चिह्नित करने की आवश्यकता है (और स्वयं आईडी डालें) विशेषता:
public class Blog
{
[BsonId]
public String Id {get;set;}
public String Title{get;set;}
}
और सब ठीक होना चाहिए। समस्या इसलिए थी क्योंकि आपने यह चिह्नित नहीं किया था कि कौन सा क्षेत्र Mongodb _id होगा और ड्राइवर ने _id फ़ील्ड प्रकार ObjectId के साथ उत्पन्न किया है। और जब ड्राइवर इसे वापस deserialize करने की कोशिश कर रहा है तो वह ObjectId को String में नहीं बदल सकता है।
पूरा उदाहरण:
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();