使用c#从mongoDB的文档中选择所需的对象

本文关键字:选择 对象 文档 mongoDB 使用 | 更新日期: 2023-09-27 18:02:49

当前代码

MongoClient mc = new MongoClient(connectionString);
            MongoServer ms = mc.GetServer();
            MongoDatabase db = ms.GetDatabase("userDetails");
            MongoCollection<UserDetails> UserDetailcollection = db.GetCollection<UserDetails>("clnTemple");
            List<UserDetails> query = UserDetailcollection.AsQueryable<UserDetails>().Where<UserDetails>(tld => tld.Name != "x").ToList();

返回期望的结果,

无法使用此查询选择所选字段

目前我必须定义一个类,它具有文档中存在的所有对象。但是如果我从类中删除某些字段,那么它就不能工作了

例如,

UserDetails类类似于

 public class UserDetail
    {
        [BsonId]
        public String _id { get; set; }
        public String Name { get; set; }
      public string MobileNumber { get; set; }
    }

和我想要删除MobileNumber字段,然后它抛出一个错误说

Element 'MobileNumber' does not match any field or property of class MongoDbCrud.UserDetail

使用c#从mongoDB的文档中选择所需的对象

我找到了解决方案我在

类上面添加了[BsonIgnoreExtraElements]

这个类应该是这样的

[BsonIgnoreExtraElements]
 public class UserDetail
    {
        [BsonId]
        public String _id { get; set; }
        public String Name { get; set; }
      public string MobileNumber { get; set; }
    }