2014-04-30 47 views
1

文檔我有一個蒙戈架構,看起來像這樣:MGO/GOLANG:結構來解讀與

var phoneBookSchema = Schema({ 

     user_id: { 
      type: Schema.Types.ObjectId, 
      ref: 'User', 
      index: { 
       unique : true 
      }, 
      required: true 
     }, 

     entries: { 
      type: [entry], 
      default: [] 
     }, 

     matches: { 
      type: [], 
      default: [] 
     } 

    }); 

入境證件的陣列看起來像這樣:

var entry = Schema({ 

     _id : false, 

     phone: { 
       type: String, 
       index: true 
     }, 

     name: { 
       type: String 
     }, 

     notified: { 
       type: Boolean, 
       default: false, 
       required: true 
     } 

    }); 

我如何格式Golang中的PhoneBook結構,以便我可以像這樣運行查詢並將結果解組爲一個PhoneBook數組?

var results []PhoneBook 

    err = pb.Find(bson.M{}).All(&results) 
+1

你有沒有嘗試過自己可以顯示的東西?這會讓你更容易支持。 – Sebastian

+0

@塞巴斯蒂安謝謝你回到我身邊,我想通了,並且在 –

回答

2

我想通了,以下是任何人可能會覺得它有用的答案。

type PhoneBook struct { 
    User_id bson.ObjectId 
    Entries []Entry 
    Matches []User 
} 

type Entry struct { 
    Phone string 
    Name string 
    Notified bool 
} 

type User struct { 
    User_id string 
    Username string 
} 
+2

以下發布了結果很高興看到你找到了答案。您還可以註釋結構的字段以確保名稱與您的數據庫模式完全匹配。否則,您在存儲數據時可能會遇到問題。 – Sebastian

+0

確實。 User_id不是Go中字段的常規名稱。相反,您可以使用'UserId \'bson:「user_id」\'' –