1
我正在尝试编写一种方法,将所有Book文档从MongoDB返回给我的mvc应用程序。首先,我连接到数据库,检索集合并将该集合转换为Json文件。接下来,我使用序列化程序创建一个列表,其中包含指定的几个字段(名称,作者等),我尝试将其反序列化为列表,并使用for循环返回书籍列表。令人遗憾的是我在返回行中出现错误(转换错误)。任何建议都欢迎!将MongoDB文档转换为c#对象列表
public List<Book> getAllBooks()
{
var mongoClient = new MongoClient("mongodb://localhost");
var database = mongoClient.GetDatabase("SearchForKnowledge");
var coll = database.GetCollection<BsonDocument>("Book");
coll.ToJson();
List<Book> collection = new List<Book>();
JavaScriptSerializer js = new JavaScriptSerializer();
collection = (List<Book>)Newtonsoft.Json.JsonConvert.DeserializeObject(coll.ToString());
for (int i = 0; i < collection.Count(); i++)
{
return collection[i];
}
}
但是如何返回集合中的所有书籍?这种方法不仅仅在有条件的情况下才起作用吗?我可以在得到它的值后返回coll变量吗? – Kelb56
当然,你可以用ToArray()或ToList()扩展。 例如database.GetCollection(“Book”)。ToArray(); –
Eckd