C#MongoDB不同的查询语法

Yia*_* P. 5 c# distinct mongodb distinct-values

我试图从MongoDB中的字段中获取不同的值.我在使用语法时遇到了麻烦.使用mongoshell它相对容易,这是我运行的查询:

db.cmstest.distinct("categories")
Run Code Online (Sandbox Code Playgroud)

此查询返回包含所有不同值的字符串数组.

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

var categoriesList = await blogContext.Articles.DistinctAsync<List<string>>("categories", "");
Run Code Online (Sandbox Code Playgroud)

记住你的类别是一个List<string>.

任何人都可以帮忙解决一些问题 我已经尝试在文档和在线查找,但没有找到太多.

先感谢您.

chr*_*dam 8

您可以尝试以下方法:

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

  • 我更喜欢 `DistinctAsync&lt;dynamic&gt;` 而不是 `DistinctAsync&lt;string&gt;`,因为它比严格的类型转换更安全。只有我的两分钱。否则,很好的解决方案。 (2认同)