Go實戰--golang中MongoDB(mgo) 插入interface 頂

來源:互聯網
上載者:User

21天精品區塊鏈課程免費學習,深入實戰行家帶路,助力開發人員輕鬆玩轉區塊鏈!>>>   

golang mongodb插入insert資料demo

插入資料庫通常情況下針對每個表建立一個結構體,但是mongodb是schemaless,文檔資料庫,對欄位沒有嚴格要求

 

package mainimport ("fmt""gopkg.in/mgo.v2""io/ioutil""net/http""encoding/json"//"time")type Count struct {I int}var session *mgo.Sessionvar err errorfunc main() {session, err = mgo.Dial("127.0.0.1:27017")if err != nil {fmt.Print(err)}defer session.Close()http.HandleFunc("/insert",insert)http.ListenAndServe(":9999",nil)////b := session.DB("testdb").C("test1").Bulk() // 第二種//c := session.DB("testdb").C("test1") //第一種//start := time.Now()//for i := 0; i < 100000; i++ {////b.Insert(&Count{i}) //第二種//c.Insert(&Count{i}) //第一種//}////b.Run() // 第二種//duration := time.Since(start)//fmt.Printf("insert 10w: %v", duration.Seconds()*1e6/float64(1000))}func insert(w http.ResponseWriter,r *http.Request){s, _ := ioutil.ReadAll(r.Body)var p []interface{}err := json.Unmarshal([]byte(s), &p)if err!=nil{fmt.Fprint(w,"json格式錯誤")fmt.Println(err)return}c := session.DB("testdb").C("test1") //第一種//start := time.Now()for _,mp :=range p{//mp["time"]=starterr=c.Insert(&mp) //第一種if err != nil {fmt.Println(mp)panic(err)}fmt.Println(err)}fmt.Println( p )}func test() {//Create the Json stringvar data = ` { "id": 12423434,  "Name": "Fernando" } `//Marshal the json to a mapvar result map[string]interface{}err := json.Unmarshal([]byte(data), &result)if err != nil {fmt.Println(err.Error())return}fmt.Println(result)}

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.