好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 使用go在mangodb中進(jìn)行CRUD操作

使用go在mangodb中進(jìn)行CRUD操作

熱門標(biāo)簽:智能電銷機(jī)器人營銷 賺地圖標(biāo)注的錢犯法嗎 廣東語音外呼系統(tǒng)供應(yīng)商 澳門防封電銷卡 烏魯木齊人工電銷機(jī)器人系統(tǒng) 地圖標(biāo)注測試 濮陽自動外呼系統(tǒng)代理 福州鐵通自動外呼系統(tǒng) 長沙ai機(jī)器人電銷

我在學(xué)習(xí)go語言之前,在對數(shù)據(jù)庫進(jìn)行CRUD的操作基本是用java和sql來對mysql數(shù)據(jù)庫進(jìn)行操作,但是到了實習(xí)中公司業(yè)務(wù)都是用的是mangodb,通過一段學(xué)習(xí)時間后,我有了一些收獲。

簡述關(guān)系型數(shù)據(jù)庫,非關(guān)系型數(shù)據(jù)庫

關(guān)系型數(shù)據(jù)庫:指采用了關(guān)系模型來組織數(shù)據(jù)的數(shù)據(jù)庫。
關(guān)系模型指的就是二維表格模型,而一個關(guān)系型數(shù)據(jù)庫就是由二維表及其之間的聯(lián)系所組成的一個數(shù)據(jù)組織

非關(guān)系型數(shù)據(jù)庫

非關(guān)系型數(shù)據(jù)庫:指非關(guān)系型的,分布式的,且一般不保證遵循 ACID 原則的數(shù)據(jù)存儲系統(tǒng)。

這是比較規(guī)范的說法,具體這兩者談不上誰優(yōu)誰劣,各自有各自的使用場景。

其實可以粗暴的理解成一個關(guān)系型數(shù)據(jù)庫基本靠使用sql語句來操作,而非關(guān)系型數(shù)據(jù)靠key-value來進(jìn)行操作

(其實按我的理解非關(guān)系型數(shù)據(jù)庫嚴(yán)格上不是一種數(shù)據(jù)庫,應(yīng)該是一種數(shù)據(jù)結(jié)構(gòu)化存儲方法的集合,可以是文檔或者鍵值對等,但是我不知道這么說是否正確)

MangoDB

好了,上面簡述了一下關(guān)系型和非關(guān)系型數(shù)據(jù)庫,下面來說一下今天文章的主角。

mangodb

MongoDB 將數(shù)據(jù)存儲為一個文檔,數(shù)據(jù)結(jié)構(gòu)由鍵值(key=>value)對組成。MongoDB 文檔類似于 JSON 對象。字段值可以包含其他文檔,數(shù)組及文檔數(shù)組。

所以mangodb操作也是通過json(bson)格式來操作

 

那么go語言中是如何來操作mangodb

(1)數(shù)據(jù)庫連接

數(shù)據(jù)庫連接主要用到了mgo中的Dial()函數(shù),連接形式如mgo.Dial(url1,url2,url3),具體代碼如下:

func ConnecToDB() *mgo.Collection {
 session, err := mgo.Dial("127.0.0.1:27017")
 if err != nil {
 panic(err)
 }
 //defer session.Close()
 session.SetMode(mgo.Monotonic, true)
 c := session.DB("medex").C("student")
 return c
}

(2)插入

func InsertToMogo() {
 c := ConnecToDB()
 stu1 := Student{
 Name: "xiaoming",
 Phone: "18933333333",
 Email: "12345678@qq.com",
 Sex: "man",
 }
 stu2 := Student{
 Name: "zhangdao",
 Phone: "8765432",
 Email: "133333384@qq.com",
 Sex: "woman",
 }
 err := c.Insert(stu1, stu2)
 if err != nil {
 log.Fatal(err)
 }
}

(3)查詢

func GetDataViaSex() {
 c := ConnecToDB()
 result := Student{}
 err := c.Find(bson.M{"sex": "woman"}).One(result)
 if err != nil {
 log.Fatal(err)
 }
 fmt.Println("student", result)
 students := make([]Student, 20)
 err = c.Find(nil).All(students)
 if err != nil {
 log.Fatal(err)
 }
 fmt.Println(students)

}
func GetDataViaId() {
 id := bson.ObjectIdHex("5a66a96306d2a40a8b884049")
 c := ConnecToDB()
 stu := Student{}
 err := c.FindId(id).One(stu)
 if err != nil {
 log.Fatal(err)
 }
 fmt.Println(stu)
}

這上面用了兩種查詢方法一種是查詢多個,返回多個對象:many

另一種是查詢單個,返回單個對象:one

(4)更新

func UpdateDBViaId() {
 //id := bson.ObjectIdHex("5a66a96306d2a40a8b884049")
 c := ConnecToDB()
 err := c.Update(bson.M{"email": "12832984@qq.com"}, bson.M{"$set": bson.M{"name": "haha", "phone": "37848"}})
 if err != nil {
 log.Fatal(err)
 }
}

(5)刪除

func RemoveFromMgo() {
 c := ConnecToDB()
 _, err := c.RemoveAll(bson.M{"phone": "13480989765"})
 if err != nil {
 log.Fatal(err)
 }
}

總結(jié)

以上所述是小編給大家介紹的使用go在mangodb中進(jìn)行CRUD操作,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

標(biāo)簽:西雙版納 調(diào)研邀請 德州 阿克蘇 慶陽 太原 貴陽 廣西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用go在mangodb中進(jìn)行CRUD操作》,本文關(guān)鍵詞  使用,在,mangodb,中,進(jìn)行,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用go在mangodb中進(jìn)行CRUD操作》相關(guān)的同類信息!
  • 本頁收集關(guān)于使用go在mangodb中進(jìn)行CRUD操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 看我是怎样把你c的叫出来的| 国偷自产短视频高清| 天海翼在线观看女教师| 色屁屁XXXXⅩ在线视频| 香港三级理论在线观看| 迈开腿让我尝尝你的草莓| 继h女乱h| 91无套极品外围在线播放| 河马的秘密河祺鑫肉车| 全部免费特黄特色大片视频| 男女XXOO做爰猛烈gif动图| 黑大巨大一区二区三区| 在线观看网站黄色| 91性视频| 在线A级毛片免费观看| 美女欧在线观看免费观看| 欧美一区二区在线免费观看| 亚洲欧美四级在线播放| 鲁啊鲁精品视频在线观看| 亚洲人成电影院| 特级淫片大乳女子高清视频| 在宿舍和男朋友室友做| 51国产偷自视频区| 久久久久久精品免费免费阿潘迪 | 成年男女免费视频网站播放| 侠女冰清玉洁破瓜| 农村寡妇看A片一区二区 | 女人一旦尝到粗硬的心理反应| 无人在线观看免费高清电视剧狂飙 | 黄色日本电影| 乳欲办公室HD高清版| 男插女下体视频| 久久免费国产精品一区二区| 久久香蕉国产线看观看亚洲卡| 午夜精品秘?一区二区三区城中村 久久久精品人妻一区二区三区,麻豆国产 | 异世猎芳逍遥免费阅读| chinesefreexxxxhd厕所| 全免费A级毛片免费三白| 国产人妖视频一区高清观看| 8050午夜二级毛片全黄app| 乱理最新乱理片中文|