Go中mgo操作mongo问题

在mgo操作mongo中,怎么进行结构查询啊,结构体如下:

type User struct {
DataInfo map[string]string bson:"data_info"
}

res := &model.User{
DataInfo: dataJson,
}

err = m.WalnutDb.C(marco.MongoUserCollection).Find(bson.M{"data_info": res.DataInfo}).One(&user) // 这样可以查询到所有匹配,但是我想查询只有username=123这种条件匹配怎么办啊