MGO / GOLANG:用于解组文档的结构

时间:2014-04-30 22:42:36

标签: struct go mgo

我有一个看起来像这样的Mongo架构:

  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结构,以便我可以运行这样的查询并将结果解组为电话簿数组?

  var results []PhoneBook

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

1 个答案:

答案 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
}