您好我想在mongodb中获取distict值。
这是我的示例表
名称________________年龄___________________工资
x ___________________ 25 ___________________ 5000
x ___________________ 25 ___________________ 5000
x ___________________ 26 ___________________ 5000
是___________________ 25 ___________________ 5000
y ___________________ 26 ___________________ 5000
我想得到像这样的结果
{
"Name" : "x",
"Age" : [
{
25,26
}]
}
{
"Name" : "y",
"Age" : [
{
25,26
}]
}
有没有办法得到这样的结果。
我的SQL查询是
select distinct Name,Age from Table where salary=5000
我试过这个
但是这不能像这样
db.getCollection('Table').aggregate([
{"$match":{Salary:5000}},
{"$group":{_id:{Name:"$Name",Age:"$Age"}}},
{"$project" : {_id:0, Name:"$_id.Name", Age:"$_id.Age"}}
])
答案 0 :(得分:2)
$addToSet
Age
$group
时,Name
使用db.getCollection('Table').aggregate([
{"$match":{Salary:5000}},
{"$group":{_id:"$Name", "Age":{$addToSet:"$Age"}}},
{"$project" : {_id:0, Name:"$_id", Age:1}}
])
获取所需的输出。
nsubjpass(submitted, Bills)