C# MongoDB 不同的查询语法

C# MongoDB Distinct Query Syntax

我正在尝试从 MongoDB 中的字段中获取不同的值。我在语法方面遇到了真正的麻烦。使用 mongoshell 相对容易,这是我的查询 运行:

db.cmstest.distinct("categories")

此查询 returns 一个包含所有不同值的字符串数组。

现在我正尝试使用最新的官方 MongoDB 驱动程序来获得正确的语法,但不太成功。这是我的代码,没有成功:

var categoriesList = await blogContext.Articles.DistinctAsync<List<string>>("categories", "");

注意类别是List<string>

谁能帮忙解释一下?我试过在文档和网上查找,但没有找到太多。

提前致谢。

您可以尝试以下方法:

var filter = new BsonDocument();
var categoriesList = await blogContext.Articles.DistinctAsync<string>("categories", filter);

更好的是,您可以使用 lambda 表达式来确保类型安全。

例如:

await this.Collection.DistinctAsync(flow => flow.timestampDate, new BsonDocument());