2014-04-30 52 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”\'' –