MongoDB 用于搜索文档(T 类文档)的 C# 方法

MongoDB C# Methode to search for a Document (Document of Type T)

我确实用 C# 为 MongoDB 编写了一个 CRUD 应用程序。我试图让它尽可能通用(至少对我来说尽可能好)。

所以我使用类型 T 作为文档的类型。

        public List<T> SearchDocument<T>(string collection, string fieldName, string fieldValue)
    {
        var _collection = db.GetCollection<T>(collection);
        var filter = Builders<T>.Filter.Eq(fieldName, fieldValue);
        var result = _collection.Find(filter).ToList();
        return result;
    }

该方法有效并在 MongoDb 中找到具有给定字段的给定值的文档。 我不知道的是如何使 "string filedValue" 的类型也输入 T 可以这么说。

即使我已经使用了 T,如何使 fieldValue 的类型也通用?

public List<T> SearchDocument<T>(string collection, string fieldName, string fieldValue)

应该是

public List<T> SearchDocument<T>(string collection, string fieldName, <an other T>  fieldValue)

由于第二个 T 与第一个 T 完全不同,所以我只是写在这里所以我希望有人能理解我的意思。我知道它不能与 SearchDoc

中的 T 相同

谢谢 :) 输入

您需要第二个泛型类型 TField:

public List<T> SearchDocument<T, TField>(string collection, string fieldName, TField fieldValue)
{
    var _collection = db.GetCollection<T>(collection);
    var filter = Builders<T>.Filter.Eq<TField>(fieldName, fieldValue);
    var result = _collection.Find(filter).ToList();
    return result;
}