我对 mongoDB 完全陌生,我正在学习基础知识。我正在使用 mongoDB 和 Robo 3T 的 .NET 驱动程序(2.7.2)作为实用程序来手动管理数据库。我创建了一个TestDB数据库,在其中创建了myCollection许多这样的测试文档:
/* 1 */
{
"_id" : ObjectId("5c124ee01c2477487574b212"),
"x" : 1.0
}
/* 2 */
{
"_id" : ObjectId("5c17d26369babb0c04610a33"),
"count" : 1
}
/* 3 */
{
"_id" : ObjectId("5c17d40f6002a11c44bc2c42"),
"name" : "MongoDB",
"type" : "Database",
"count" : 1,
"info" : {
"x" : 203,
"y" : 102
}
}
/* 4 */
{
"_id" : ObjectId("5c17dead9e83de138c71278a"),
"counter" : 0
}
/* 5 */
{
"_id" : ObjectId("5c17dead9e83de138c71278b"),
"counter" : 1
}
/* 6 */
{
"_id" : ObjectId("5c17dead9e83de138c71278c"),
"counter" : 2
}
/* 7 */
{
"_id" : ObjectId("5c17dead9e83de138c71278d"),
"counter" : 3
}
/* 8 */
{
"_id" : ObjectId("5c17dead9e83de138c71278e"),
"counter" : 4
}
/* 9 */
{
"_id" : ObjectId("5c17dead9e83de138c71278f"),
"counter" : 5
}
/* 10 */
{
"_id" : ObjectId("5c17dead9e83de138c712790"),
"counter" : 6
}
/* 11 */
{
"_id" : ObjectId("5c17dead9e83de138c712791"),
"counter" : 7
}
/* 12 */
{
"_id" : ObjectId("5c17dead9e83de138c712792"),
"counter" : 8
}
/* 13 */
{
"_id" : ObjectId("5c17dead9e83de138c712793"),
"counter" : 9
}
/* 14 */
{
"_id" : ObjectId("5c17dead9e83de138c712794"),
"counter" : 10
}
等等......在我的控制台应用程序(在 Visual Studio 2017 社区)中,我创建了两个这样的类:
public class MyClass
{
[BsonId]
public ObjectId ID { get; set; }
public string name { get; set; }
public string type { get; set; }
public int count { get; set; }
public List<Info> info { get; set; }
}
public class Info
{
public int x { get; set; }
public int y { get; set; }
}
我想从数据库中获取一个文档,该文档/* 3 */在我的示例数据中标记为更复杂的数据。我尝试在 main 方法中获取数据的程序是这样的:
当我启动应用程序时,我收到此错误:System.FormatException:"An error occurred while deserializing the info property of class TEST_MongoDB_consoleApp.MyClass: Cannot deserialize a 'List<Info>' from BsonType 'Document'."
我究竟做错了什么 ?
在这种情况下,程序运行时没有任何异常,并且我从文档中获得了正确的 ObjectID 值。
再次 - 我做错了MyClass什么?
心有法竹
慕村9548890
随时随地看视频慕课网APP
相关分类