如何 return 另一个字段和不同的字段来自 mongodb 不同的
How to return another field and distinct field from mongodb distinct
大家好,我想问一下,如何在 distinct mongodb 方法的结果中 return 另一个字段?
比如我有以下文件:
[
{
"id": 1,
"segment": "AAS",
"partner": {}
},
{
"id": 2,
"segment": "AAS",
"partner": {}
},
{
"id": 3,
"segment": "BBS",
"partner": {}
},
{
"id": 4,
"segment": "CCS",
"partner": {}
},
{
"id": 5,
"segment": "DDS",
"partner": {}
}
]
我想区分段字段,但是,我也需要 return 合作伙伴字段:
[
{
"segment": "AAS",
"partner": {}
},
{
"segment": "BBS",
"partner": {}
},
{
"segment": "CCS",
"partner": {}
},
{
"segment": "DDS",
"partner": {}
}
]
我怎样才能产生那个?是否可以使用 mapReduce 方法?我该如何实施?
谢谢!
假设您不关心获得的 AAS。我选第一个。
db.collection.aggregate([
{
$group: {
_id: "$segment",
field: {
$first: "$$ROOT"
}
}
},
{
$replaceWith: "$field"
},
{
$unset: [ "id", "_id" ]
}
])
大家好,我想问一下,如何在 distinct mongodb 方法的结果中 return 另一个字段?
比如我有以下文件:
[
{
"id": 1,
"segment": "AAS",
"partner": {}
},
{
"id": 2,
"segment": "AAS",
"partner": {}
},
{
"id": 3,
"segment": "BBS",
"partner": {}
},
{
"id": 4,
"segment": "CCS",
"partner": {}
},
{
"id": 5,
"segment": "DDS",
"partner": {}
}
]
我想区分段字段,但是,我也需要 return 合作伙伴字段:
[
{
"segment": "AAS",
"partner": {}
},
{
"segment": "BBS",
"partner": {}
},
{
"segment": "CCS",
"partner": {}
},
{
"segment": "DDS",
"partner": {}
}
]
我怎样才能产生那个?是否可以使用 mapReduce 方法?我该如何实施?
谢谢!
假设您不关心获得的 AAS。我选第一个。
db.collection.aggregate([
{
$group: {
_id: "$segment",
field: {
$first: "$$ROOT"
}
}
},
{
$replaceWith: "$field"
},
{
$unset: [ "id", "_id" ]
}
])