mongodb - 元素 'Id' 与类的任何字段或属性不匹配

标签 mongodb mongodb-.net-driver

我从MongoDB中的collection得到结果,结构如下

[DataContract]
public class Father
{
    [BsonId]
    [DataMember]
    public MongoDB.Bson.ObjectId _id { get; set; }

    [DataMember]
    public string Id { get; set; }

    [DataMember]
    public List<Child> childs { get; set; }
}

[DataContract]
public class Child
{
    [DataMember]
    public string Id { get; set; }

    [DataMember]
    public int Name { get; set; }
}

当我尝试这个时:

List<Father> f = result.ToList();

它调用元素'Id'不匹配Model.Child类的任何字段或属性

我认为它只是把“Id”当作别的东西。

我该如何处理?谢谢你

最佳答案

您可以通过在类声明顶部添加 [BsonIgnoreExtraElements] 来解决此问题。 ObjectId 由 MongoDB 内部维护,除非您想从对象获取其他信息,例如时间戳,否则可能不需要。希望这会有所帮助。

关于mongodb - 元素 'Id' 与类的任何字段或属性不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11557912/

相关文章:

mongodb - Rust Actix Web 是否支持 MongoDB?

mongodb - 如何在 MongoDB 中更改文档属性

mongodb - 如何在字节数组中保存图像并在grails中将字节数组取回图像?

c# - IMongoCollection 统计数据

c# - 如何从 C# 计算 MongoQuery 的时间

c# - 如何在mongodb的一个查询中从两个集合中获取数据?

javascript - $从文档中的数组中提取

javascript - 从 Node 批量插入 mongoDB

c# - 存储复合/嵌套对象图

c# - 如何更新 mongodb 文档以向数组添加新项目?