The final piece of the puzzle is the handlePolls
function that will use the helpers to understand the incoming request and access the database, and generate a meaningful response that will be sent back to the client. We also need to model the poll data that we were working with in the previous chapter.
Create a new file called polls.go
, and add the following code:
package main import "gopkg.in/mgo.v2/bson" type poll struct { ID bson.ObjectId `bson:"_id" json:"id"` Title string `json":"title""` Options []string `json:"options"` Results map[string]int `json:"results,omitempty"` }
Here we define a structure called poll
that has three fields that in turn describe the polls being created and maintained by the code we wrote in the previous chapter. Each field also has a tag (two in the ID
case), which allows us to provide some extra metadata.