如何使用golang在mongodb中获取不同的值

man*_*and 8 go mongodb mgo

我尝试从我的集合中检索具有唯一ID的文档.

我有一个字段集合:名称,年龄,城市和等级.我想使用golang从mongodb获得'city'结果.

我的结构代码

type exp struct {
    name string `bson:"name"`
    age  int    `bson:"age"`
    city string `bson:"city"`
    rank int    `bson:"rank"`
}
Run Code Online (Sandbox Code Playgroud)

使用以下代码从mongodb检索结果:

var result []exp //my struct type

err = coll.Find(bson.M{"City":bson.M{}}).Distinct("City",&result)

fmt.Println(result)
Run Code Online (Sandbox Code Playgroud)

使用此代码,我得到一个空数组作为结果.我怎么能到达所有城市?

san*_*anu 7

试试这个代码

 var result []string 

 err = c.Find(nil).Distinct("city", &result)

 if err != nil {
     log.Fatal(err) 
 }

 fmt.Println(result)
Run Code Online (Sandbox Code Playgroud)