我的数据如下所示:

如何按专业对数据进行整理和分组。
我试着这样做,但结果不一样。格式。
var data = db.collection('hms').aggregate([
{ $match: { speciality: doctorSpeciality } },
{ $project: { doctor: 1, speciality: 1, meetting_hours: 1, hospital:1 } },
{
$group: {
"_id": "$doctor_speciality",
"speciality": {$push:"$speciality"},
"doctor":{$push :"$doctorSpeciality"},
"hospital":{$push : "$hospital_name" },
"meetting_hours":{$push: "$meetting_hours"}
}
}
]);
data.toArray(function(err, doc){
console.log("result :::" ,doc);
}); 我想要这样的格式:
0:[
{ doctor:Hussain,speciality:Physician,hospital:HMS,date:2018-2-1},
{ doctor:Hussain,speciality:Physician,hospital:HMS,date:2018-2-2}
],
1: [{doctor:Reza,speciality:Physician,hospital:HMS,date:2018-2-1}]诸若此类。
我正在使用MongoClient驱动程序。
有没有人可以帮我或者给我一些提示?
发布于 2018-02-16 22:59:56
你只需要调整一下,一次推入所有的值,而不是一次推入一个字段。
试一试
db.collection('hms').aggregate([
{"$match":{"speciality":doctorSpeciality}},
{"$project":{"doctor":1,"speciality":1,"meetting_hours":1,"hospital":1}},
{"$group":{
"_id":"$doctor_speciality",
"data":{
"$push":{
"speciality":"$speciality",
"doctor":"$doctor_speciality",
"hospital":"$hospital_name",
"meetting_hours":"$meetting_hours"
}
}
}}
])https://stackoverflow.com/questions/48828168
复制相似问题