MongoDB多重条件修改与统计
#根据条件批量修改
db.getCollection("T_D_UserCourseRecordSafetyTrain").update({ $and : [{CourseID : "424"}, {LessonID : { $in : ['963','964'] }}] },{$set:{CourseID : "2552"}},{multi:true})
#jsScrpit方式优雅的批量修改
var paramDuiBi=[
{"LessonID":963, "courseid":28},
{"LessonID":964, "courseid":28},
{"LessonID":965, "courseid":19},
{"LessonID":966, "courseid":19},
{"LessonID":968, "courseid":30},
{"LessonID":969, "courseid":30},
{"LessonID":970, "courseid":23},
{"LessonID":971, "courseid":23},
{"LessonID":972, "courseid":30},
{"LessonID":973, "courseid":30},
{"LessonID":974, "courseid":22},
{"LessonID":975, "courseid":22},
{"LessonID":976, "courseid":31},
{"LessonID":977, "courseid":31},
{"LessonID":978, "courseid":23},
{"LessonID":979, "courseid":23},
{"LessonID":980, "courseid":29},
{"LessonID":981, "courseid":29},
{"LessonID":982, "courseid":22},
{"LessonID":983, "courseid":22},
{"LessonID":984, "courseid":26},
{"LessonID":985, "courseid":26},
{"LessonID":986, "courseid":22},
{"LessonID":987, "courseid":22},
{"LessonID":988, "courseid":28},
{"LessonID":989, "courseid":28},
{"LessonID":990, "courseid":22},
{"LessonID":991, "courseid":22},
{"LessonID":992, "courseid":29},
{"LessonID":993, "courseid":29},
{"LessonID":994, "courseid":22},
{"LessonID":995, "courseid":22},
{"LessonID":996, "courseid":29},
{"LessonID":997, "courseid":29},
{"LessonID":998, "courseid":23},
{"LessonID":999, "courseid":23}
];
var param
param=db.getCollection('T_D_UserCourseRecordSafetyTrain').aggregate([
{"$match":{"LessonID" : { $in : ['963','964','965','966','968','969','970','971','972','973','974','975','976','977','978','979','980','981','982','983','984','985','986','987','988','989','990','991','992','993','994','995','996','997','998','999'] }}},
{ "$group": {
"_id": {"UserCode":"$UserCode","LessonID":"$LessonID"},
"Count": { "$sum": 1 },
}
},
{$project:{"_id":0,"UserCode":"$_id.UserCode","LessonID":"$_id.LessonID","Count":"$Count"}
}
])
var jsonstr=[];
while(param.hasNext())
{
jsonstr.push(param.next())
}
for (var i=0;i<jsonstr.length;i++)
{
var coursenums=parseInt(jsonstr[i]["Count"]);
var lessonids=parseInt(jsonstr[i]["LessonID"]);
var UserCode=jsonstr[i]["UserCode"];
for (var k=0;k<paramDuiBi.length;k++)
{
if(lessonids==parseInt(paramDuiBi[k]["LessonID"])&&coursenums>parseInt(paramDuiBi[k]["courseid"]))
{
print(UserCode+" lessonids:"+lessonids+" mdcount:"+coursenums+" yuancount:"+paramDuiBi[k]["courseid"])
}
}
}
#####样例2#######
var param
param=db.getCollection('T_D_UserCourseRecordSafetyTrain').aggregate([
{"$match":{"LessonID" : { $in : ['963','964','965','966','968','969','970','971','972','973','974','975','976','977','978','979','980','981','982','983','984','985','986','987','988','989','990','991','992','993','994','995','996','997','998','999'] }}},
{ "$group": {
"_id": {"UserCode":"$UserCode","LessonID":"$LessonID","CourseID":"$CourseID"},
"Count": { "$sum": 1 },
}
},
{$project:{"_id":0,"UserCode":"$_id.UserCode","LessonID":"$_id.LessonID","CourseID":"$_id.CourseID","Count":"$Count"}
}
])
var jsonstr=[];
while(param.hasNext())
{
jsonstr.push(param.next())
}
for (var i=0;i<jsonstr.length;i++)
{
var coursenums=parseInt(jsonstr[i]["Count"]);
var lessonids=parseInt(jsonstr[i]["LessonID"]);
var coursid=jsonstr[i]["CourseID"];
var UserCode=jsonstr[i]["UserCode"];
if(coursenums>1)
{
print(UserCode+" lessonids:"+lessonids+" CourseID:"+coursid+" coursenums:"+coursenums)
}
}
评论区