Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Zad1
- db.students_records.insertMany([
- {student: {id:161969, name:"Jakub", surname:"Kotowski"},
- courses: [{id:1, name:"AKO", year:2, semester:3,
- grades: {lecture:3, laboratory:3, project:3, exercises:3, exam:3},
- lecturer: {name:"Jacek", surname:"Placek", title: "Dr"}},
- {id:2, name:"NBD", year:4, semester:7,
- grades: {lecture:4, laboratory:5, project:4, exercises:4, exam:4},
- lecturer: {name:"Gacek", surname:"Stasiek", title: "Inz"}}]
- },
- {student: {id:160472, name:"Jan", surname:"Fan"},
- courses: [{id:3, name:"PP", year:1, semester:1,
- grades: {lecture:2, laboratory:2, project:2, exercises:2, exam:2},
- lecturer: {name:"Ziom", surname:"Bom", title: "Dr"}},
- {id:2, name:"NBD", year:4, semester:7,
- grades: {lecture:5, laboratory:5, project:5, exercises:5, exam:5},
- lecturer: {name:"Gacek", surname:"Stasiek", title: "Inz"}}]
- }])
- Zad2
- Aby dowiedziec sie na jakim semestrze jest student, moim odnosnikiem beda oceny, ktore odnosza sie do kursow, ktore sa prowadzone na najwyzszym semenstrze dla konkretnego studenta.
- Zakladam, ze kiedy student przechodzi na nastepny semestr, to jest dla niego wstawiony wpis z pustymi ocenami (tak jak na MojaPG).
- db.students_records.aggregate(
- [
- {
- $project: {
- "_id": 0,
- "student.id": 1,
- "student.name": 1,
- "student.surname": 1,
- "courses.year": 1,
- "courses.semester": 1
- }
- },
- {
- $unwind: {
- path: "$courses"
- }
- },
- {
- $group: {
- "_id": "$student.id",
- "year": { $max: "$courses.year" },
- "semester": { $max: "$courses.semester" },
- "name": { $last: "$student.name" },
- "surname": { $last: "$student.surname"}
- }
- }
- ]
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement