【发布时间】:2015-10-02 04:47:40
【问题描述】:
我很难理解应该如何编写一些 MongoDB 查询。 可能我脑子太习惯关系型数据库了。
无论如何,我想检索所有文档(整个文档,而不是元素的子集),但每个元素的不同值只检索一个。
例如,我在一个集合中有以下 3 个文档:
{
"person": {
"name": "james",
"age": "21",
"city": "London"
}
},
{
"person": {
"name": "edith",
"age": "18",
"city": "London"
}
},
{
"person": {
"name": "steve",
"age": "29",
"city": "Berlin"
}
}
我想检索整个文档,但只能使用不同的“城市”元素值。其余的数据应该在那里(因此我不能只对它们进行 $group),返回的子集中的哪个文档并不重要。
所以期望的输出应该是(如果我们总是使用具有不同值的第一个文档):(第一个文档也可以是 edith,没关系)
{
"person": {
"name": "james",
"age": "21",
"city": "London"
}
},
{
"person": {
"name": "steve",
"age": "29",
"city": "Berlin"
}
}
这有意义吗?
(虚拟数据,但问题是真实数据)
【问题讨论】: