查找1个集合的文档

时间:2016-02-10 14:58:15

标签: c# .net mongodb

我正在尝试使用此代码从#collection; Symbole"中获取数据

class Program
{
    static void Main(string[] args)
    {
        try
        {
            MainAsync(args).Wait();
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
        }


        Console.WriteLine("Press Enter");
        Console.ReadLine();
    }
    static async Task MainAsync(string[] args)
    {
        string uri = "mongodb://Host:Port/DBName";
        var client = new MongoClient(uri);
        var db = client.GetDatabase("DBName");
        var col = db.GetCollection<BOSBourse>("TableName");

        var list = await col.Find(new BsonDocument()).ToListAsync();

        foreach (var doc in list)
        {
            Console.WriteLine(doc);
        }

    }

    class BOSBourse
    {
        public ObjectId ID { get; set; }
        public string Name { get; set; }
        public string Price { get; set; }
    }
}

但它引发了一个例外:

  

未处理的类型&#39; System.AggregateException&#39;发生在mscorlib.dll

     

其他信息:发生了一个或多个错误。

添加try / catch后,我发现了一个很大的例外:

  

System.AggregateException:发生了一个或多个错误。 ---&GT; System.FormatException:Element&#39; _id&#39;与MongoDBCRUD.Program + BOSBourse类的任何字段或属性都不匹配。      在MongoDB.Bson.Serialization.BsonClassMapSerializer`1.DeserializeClass(BsonDeserializationContext context)

     

[...]

     

在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)      在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)      在System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()      在MongoDBCRUD.Program.d__1.MoveNext()在C:\ Users \ amin- \ Documents \ Visual Studio 2015 \ Projects \ MongoDBCRUD \ MongoDBCRUD \ Program.cs:第60行&lt; ---

如果我修改了以下事件:

public ObjectId ID { get; set; }

public int ID { get; set; }

仍然出现相同的错误。
更新(解决方案) 在BOSBourse课程中,只需将价格类型从字符串修改为双

0 个答案:

没有答案
相关问题