通过distinct元素从MongoDB和C#获取整个文档

时间:2015-10-01 20:35:00

标签: c# mongodb

我很难理解如何编写一些MongoDB查询。 也许我的思维习惯于关系数据库。

无论如何,我想要检索所有文档(整个文档,而不是元素的子集),但只检索元素的每个不同值。

例如,我在一个集合中有以下3个文档:

{
  "person": {
     "name": "james",
     "age": "21",
     "city": "London"
  }
},
{
  "person": {
     "name": "edith",
     "age": "18",
     "city": "London"
  }
},
{
  "person": {
     "name": "steve",
     "age": "29",
     "city": "Berlin"
  }
}

我想要检索整个文档,但只能使用不同的" city"元素值。其余的数据应该在那里(因此我不能只对它们进行分组)它与返回的子集中的哪个文件无关。

所以期望的输出应该是(如果我们总是使用具有不同值的第一个文档):(第一个文档也可以是edith,并不重要)

{
  "person": {
     "name": "james",
     "age": "21",
     "city": "London"
  }
},
{
  "person": {
     "name": "steve",
     "age": "29",
     "city": "Berlin"
  }
}

这有意义吗?

(虚拟数据,但问题是真实的)

1 个答案:

答案 0 :(得分:0)

我相信你所寻找的是:

GetCollection<Person>("person").DistinctAsync("person.city",filter)