在Golang中通过clientID重新构造结构

I have a database where an admin has multiple clients, and a notification database holding all of the notifications. In the struct, it is able to identify that the notifications belong to a particular user, and that these users belong to a particular administrator.

I have a database of notifications (Example: "User1 has accepted their account", "User1 has made a payment", "User2 has made a payment", "User3 has been invited", etc.) and I am trying to build a report page where the administrator are able to view their client's notifications. I'm having trouble figuring out how to make a dynamic map to reorganize the map so that notifications are assigned to each user.

Example:

 User 1:

 Lists user 1's notifications

 User 2:

 Lists user 2's notifications

Using Golang with mongodb, with a bootstrap/ go template front end. Here is what I have concept-wise:

var notes []Notifiation

//code to pull all notifications from the database

var report{}

//loop to reorganize notes into report{} by the clientID

for i=0 ; range notes; i++ {
    report{i} = clientID(i)
}

//Create the map to pass to the template:

d := M{report{}}

respond(w, r, http...., d, nil)

I hope someone can understand my thought process. I'm still pretty new and I know I'm dealing with some advanced concepts.