处理程序和数据库GoLang

时间:2018-07-06 21:45:21

标签: database go

因此,我有一个使用mongoDB的本地数据库,我想将值从该数据库打印到localhost http服务器,但是由于某种原因,我无法弄清楚如何从中获取值。到目前为止,这是我为处理程序尝试过的内容:

func outputHandler(w http.ResponseWriter, r *http.Request) {
    session, err := mgo.Dial("localhost")
    if err != nil {
        panic(err)
    }
    c := session.DB("foo").C("WOO")
    countTemp := c.Find(nil)


    outputString, err := json.Marshal(countTemp)
    if err != nil {
        panic(err)
    }
    w.Write(outputString) 
}

之所以将其作为c.Find(nil)之所以,是因为我知道数据库在任何给定时间只有1个值,而这正是我要检索的值。当下面的输出运行时,我对localhost /:8080 / foo的响应为{}。 感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

c.Find返回查询。您需要执行查询以获取数据:

var countTemp interface{}
if err := c.Find(nil).One(&countTemp); err != nil {
   // handle error
}