mongodb c#根据集合返回不同的类型

时间:2018-10-03 15:13:35

标签: c# mongodb

我有一个mongo数据库和一个c#方法,它们根据集合名称返回所需的集合。

public static IMongoCollection<BsonDocument> ConnectDB(string _collection)
    {
        MongoClient _client = new MongoClient("mongodb://localhost:27017");
        var _db = _client.GetDatabase("cars_db");
        return _db.GetCollection<BsonDocument>(_collection);
    }

我想要的是根据集合返回不同的类型,例如,如果我想要集合“ car”,则希望返回类型为IMongoCollection(Car),而不是BsonDocument。有什么想法吗?

谢谢

1 个答案:

答案 0 :(得分:0)

尝试这个答案

public static IMongoCollection<BsonDocument> ConnectDB(string _collection)
    {
        MongoClient _client = new MongoClient("mongodb://localhost:27017");
        switch (_collection) 
        {
        case 'Car':
             var _db = _client.GetDatabase("cars_db");
             return _db.GetCollection<Car>(_collection);
           break;

        case 'Season':
           var _db = _client.GetDatabase("season_db");
           return _db.GetCollection<Season>(_collection);
           break;

        case 'client':
           var _db = _client.GetDatabase("client_db");
           return _db.GetCollection<Client>(_collection);
          break;
        }
     }