gpt4 book ai didi

c# - MongoDB C# 搜索文档的方法(T型文档)

转载 作者:行者123 更新时间:2023-12-04 15:28:15 25 4
gpt4 key购买 nike

我确实用 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;
}

关于c# - MongoDB C# 搜索文档的方法(T型文档),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61827415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com