Reputation: 62
It looks like I'm able to successfully connect to my Mongo Database. I'm able to view that there are 30 records in my collection. How do I actually view the records though?
enter code here
package main
import (
"fmt"
"net/http"
"github.com/gorilla/mux"
"gopkg.in/mgo.v2"
"gopkg.in/mgo.v2/bson"
)
type User struct {
id bson.ObjectId `json:"-" bson:"_id"`
firstName string `json:"first_name"`
lastName string `json:"last_name"`
email string `json:"email"`
regId string `json:"registration_id"`
regKey string `json:"registration_key"`
password string `json:"password`
}
func main() {
session, err := mgo.Dial("XXX.XXX.XXX.XXX")
if err != nil {
panic(err)
}
defer session.Close()
session.SetMode(mgo.Monotonic, true)
//res := []User{}
c := session.DB("cd").C("auth_user")
res := []User{}
fmt.Println(c.Find(bson.M{}).All(&res))
fmt.Println(len(res))
fmt.Println(res)
fmt.Println(res[0])
fmt.Println(res[0].email)
}
The output of the above is: 30 [{ } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { }]
Upvotes: 1
Views: 829
Reputation: 120941
You need to export the field names.
type User struct {
ID bson.ObjectId `json:"-" bson:"_id"`
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
Email string `json:"email"`
RegId string `json:"registration_id"`
RegKey string `json:"registration_key"`
Password string `json:"password`
}
The BSON codec ignores unexported fields.
Upvotes: 6