type MongoDBConfig struct {
*mgo.DialInfo
}
func ConfigureMongoDB() (*MongoDBConfig, error) {
//Get gopath
GOPATH := os.Getenv("GOPATH")
file, err := os.Open(GOPATH+RESOURCE_PATH)
if err != nil {
return nil, err
}
decoder := json.NewDecoder(file)
mongoConfig := MongoDBConfig{}
er := decoder.Decode(&mongoConfig)
if er != nil {
return nil, er
}
return &mongoConfig, nil
}
func InitMongoDB() (*Session, error){
mongoConfig, err := ConfigureMongoDB()
if err != nil {
return nil, err
}
session, mongoerr := mgo.DialWithInfo(mongoConfig)
}
传递mongoConfig时在最后一行获取错误。我使用DialInfo类型创建了MongoDBConfig的结构类型。
不能使用mongoConfig(类型* MongoDBConfig)作为类型* DialInfo
答案 0 :(得分:-1)
明确访问embeded字段:
session, mongoerr := mgo.DialWithInfo(mongoConfig.DialInfo)