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());
我正在尝试从 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());