2016-10-27 12 views
1

Mongoデータベースに正常に接続できるようです。私は自分のコレクションに30のレコードがあると見ることができます。レコードを実際にどのように表示するのですか?Golang Mgo - 結果を表示するには?

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) 
} 

上記の出力は、次のとおり 30 [{} {} {} {} {} {} {} {} {} {} {} {} {} {} {} { } {} {} {} {} {} {} {} {} {} {} {} {} {}

答えて

5

フィールド名はexportにする必要があります。

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` 
} 

BSONコーデックは、非通知フィールドを無視します。

+0

完璧、ありがとうございます!答えを受け入れるためにタイムアウトを待つ... –

+0

それは正しいです。単語のエクスポート時にクリックすることを忘れないでください。名前が小文字で始まるフィールドがエクスポートされない理由を説明します。 – lofcek