2016-10-27 4 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) 
} 

위의 출력은 : [{} {} {} {} {} {} {} {} {} {} {} {} {} {} {} { } {} {} {} {} {} {} {} {} {} {} {} {}]

답변

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 코덱은 unexported 필드를 무시합니다.

+0

완벽한, 감사합니다! 답변을 수락하기 위해 타임 아웃을 기다리는 중 .... –

+0

맞습니다. 단어 내보내기에서 링크를 클릭하는 것을 잊지 마십시오. 이름이 낮은 문자로 시작하는 필드가 내보내지지 않는 이유를 설명합니다. – lofcek