dsfds2353 2017-02-09 15:53
浏览 46
已采纳

从请求序列化表格并放入mongo

I have tried to put a form from a request (I don't know the structure of the data that I get for the moment) in a mongo database.

Here is my code :

fmt.Println(r.Form)
for key, values := range r.Form {   // range over map
    for _, value := range values {    // range over []string
        fmt.Println(key, value)
    }

}
fmt.Println(r.Form)
decoder := json.NewDecoder(r.Body)
session, err := mgo.Dial("127.0.0.1")
if err != nil {
    panic(err)
}
defer session.Close()

// Optional. Switch the session to a monotonic behavior.
session.SetMode(mgo.Monotonic, true)

c2 := session.DB("finger_bag").C("finger")
data, err := bson.Marshal(decoder)
err2 := c2.Insert(data)
if (err2 != nil){
    Info.Println("error")
    Info.Println(err2)
}

If anyone have any idea how to do it.

  • 写回答

1条回答 默认 最新

  • dpf5207 2017-02-09 19:51
    关注

    If you want to store the contents of r.Form, then store r.Form, rather than trying to unmarshal and remarshal the request body:

    c2.Insert(r.Form)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 iOS开发关于快捷指令截屏后如何将截屏(或从截屏中提取出的文本)回传给本应用并打开指定页面
  • ¥15 unity连接Sqlserver
  • ¥15 图中这种约束条件lingo该怎么表示出来
  • ¥15 VSCode里的Prettier如何实现等式赋值后的对齐效果?
  • ¥15 流式socket文件传输答疑
  • ¥20 keepalive配置业务服务双机单活的方法。业务服务一定是要双机单活的方式
  • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题
  • ¥15 win10,这种情况怎么办
  • ¥15 如何在配置使用Prettier的VSCode中通过Better Align插件来对齐等式?(相关搜索:格式化)
  • ¥100 在连接内网VPN时,如何同时保持互联网连接