我正在使用MongoDB数据库在C#中编写APS.NET MVC 5应用程序。假设我有一个名为MongoDatabase
的{{1}}对象,其中包含my_db
个MongoCollection
个对象,称为Label
。每个labels
对象都有一些属性,其中一个是名为Label
的字符串。每个tag
值可以在不同的tag
之间共享,以便某些Labels
个对象具有相同的Label
值。
我想知道此集合中tag
有多少不同的值,并将这些值存储在某种数组中。
我是MongoDB的新手,所以我真的不知道如何做到这一点。到目前为止,我所做的只是获得tag
:
labels
但是我对我现在需要做的事情感到困惑。我可以手动迭代var labels = my_db.GetCollection<Label>("labels");
中的每个Label
,并检查之前是否已经看到labels
的{{1}}属性。但是有一种更简洁的方法来使用MongoDB函数吗?谢谢!
答案 0 :(得分:0)
有一个MongoDB方法:distinct
,它应存在于任何API中。
答案 1 :(得分:0)
正如您在MVC 5 c#应用程序中所做的那样,MongoDB提供了C#LINQ驱动程序,它将帮助您使用LINQ查询MongoDB。
http://docs.mongodb.org/ecosystem/tutorial/use-linq-queries-with-csharp-driver/
希望这有帮助。
var query = (from e in labels.AsQueryable<labelClass>()
select e.tag).Distinct()