亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MongoDB > 正文

mongodb官方的golang驅動基礎使用教程分享

2020-10-29 18:42:37
字體:
來源:轉載
供稿:網友

前言

mongo數據庫在nodejs平臺有2個常用驅動,mongodb和mongoose,mongodb接口非常接近mongo數據庫原生的操作方式,是helloworld之類演示代碼的首選mongo數據庫連接驅動,因此成為大部分nodejs初學者最先接觸的mongo數據庫驅動。初學者在學會mongo連接的同時,卻也可悲的被helloword這種演示性質的數據庫操作習慣潛移默化了。

本文主要介紹的是關于mongodb官方的golang驅動使用的相關內容,下面話不多說了,來一起看看詳細的介紹吧

使用教程如下:

導入

go get github.com/mongodb/mongo-go-driver/mongo

鏈接mongo服務

if client, err = mongo.Connect(getContext(), url); err != nil {  checkErr(err) }

判斷服務是否可用

if err = client.Ping(getContext(), readpref.Primary()); err != nil {  checkErr(err) }

選擇數據庫和集合

collection = client.Database("testing_base").Collection("howie")

刪除這個集合

collection.Drop(getContext())

插入一條數據

if insertOneRes, err = collection.InsertOne(getContext(), howieArray[0]); err != nil {  checkErr(err) } fmt.Printf("InsertOne插入的消息ID:%v/n", insertOneRes.InsertedID)

批量插入數據

if insertManyRes, err = collection.InsertMany(getContext(), howieArray); err != nil {  checkErr(err) } fmt.Printf("InsertMany插入的消息ID:%v/n", insertManyRes.InsertedIDs)

查詢單條數據

if err = collection.FindOne(getContext(), bson.D{{"name", "howie_2"}, {"age", 11}}).Decode(&howie); err != nil {  checkErr(err) } fmt.Printf("FindOne查詢到的數據:%v/n", howie)

查詢單條數據后刪除該數據

if err = collection.FindOneAndDelete(getContext(), bson.D{{"name", "howie_3"}}).Decode(&howie); err != nil {  checkErr(err) } fmt.Printf("FindOneAndDelete查詢到的數據:%v/n", howie)

詢單條數據后修改該數據

if err = collection.FindOneAndUpdate(getContext(), bson.D{{"name", "howie_4"}}, bson.M{"$set": bson.M{"name": "這條數據我需要修改了"}}).Decode(&howie); err != nil {  checkErr(err) } fmt.Printf("FindOneAndUpdate查詢到的數據:%v/n", howie)

查詢單條數據后替換該數據(以前的數據全部清空)

if err = collection.FindOneAndReplace(getContext(), bson.D{{"name", "howie_5"}}, bson.M{"hero": "這條數據我替換了"}).Decode(&howie); err != nil {  checkErr(err) } fmt.Printf("FindOneAndReplace查詢到的數據:%v/n", howie)

一次查詢多條數據(查詢createtime>=3,限制取2條,createtime從大到小排序的數據)

if cursor, err = collection.Find(getContext(), bson.M{"createtime": bson.M{"$gte": 2}}, options.Find().SetLimit(2), options.Find().SetSort(bson.M{"createtime": -1})); err != nil {  checkErr(err) } if err = cursor.Err(); err != nil {  checkErr(err) } defer cursor.Close(context.Background()) for cursor.Next(context.Background()) {  if err = cursor.Decode(&howie); err != nil {   checkErr(err)  }  howieArrayEmpty = append(howieArrayEmpty, howie) } fmt.Printf("Find查詢到的數據:%v/n", howieArrayEmpty)

查詢集合里面有多少數據

if size, err = collection.Count(getContext(), nil); err != nil {  checkErr(err) } fmt.Printf("Count里面有多少條數據:%d/n", size)

查詢集合里面有多少數據(查詢createtime>=3的數據)

if size, err = collection.Count(getContext(), bson.M{"createtime": bson.M{"$gte": 3}}); err != nil {  checkErr(err) } fmt.Printf("Count里面有多少條數據:%d/n", size)

修改一條數據

if updateRes, err = collection.UpdateOne(getContext(), bson.M{"name": "howie_2"}, bson.M{"$set": bson.M{"name": "我要改了他的名字"}}); err != nil {  checkErr(err) } fmt.Printf("UpdateOne的數據:%d/n", updateRes)

修改多條數據

if updateRes, err = collection.UpdateMany(getContext(), bson.M{"createtime": bson.M{"$gte": 3}}, bson.M{"$set": bson.M{"name": "我要批量改了他的名字"}}); err != nil {  checkErr(err) } fmt.Printf("UpdateMany的數據:%d/n", updateRes)

刪除一條數據

if delRes, err = collection.DeleteOne(getContext(), bson.M{"name": "howie_1"}); err != nil {  checkErr(err) } fmt.Printf("DeleteOne刪除了多少條數據:%d/n", delRes.DeletedCount)

刪除多條數據

if delRes, err = collection.DeleteMany(getContext(), bson.M{"createtime": bson.M{"$gte": 7}}); err != nil {  checkErr(err) } fmt.Printf("DeleteMany刪除了多少條數據:%d/n", delRes.DeletedCount)

完整演示代碼 點擊這里

查看mongo BSON詳細用法 點擊這里

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人在线视频网| 欧美精品免费在线观看| 国产日韩精品在线| 中文字幕在线看视频国产欧美在线看完整| 亚洲天堂av在线免费| 成人激情春色网| 日韩av高清不卡| 久久综合网hezyo| 国产激情久久久| 国产脚交av在线一区二区| 日韩电影免费观看中文字幕| 国产aaa精品| 欧美激情视频在线免费观看 欧美视频免费一| 欧美激情视频播放| 成人观看高清在线观看免费| 欧美激情三级免费| 91精品在线观看视频| 亚洲成人1234| 2019国产精品自在线拍国产不卡| 精品国产一区二区三区久久久狼| 亚洲性生活视频在线观看| 亚洲人在线观看| 欧美一性一乱一交一视频| 国产精品久久视频| 国产精品999| 欧美老少配视频| 在线电影av不卡网址| 国产午夜精品麻豆| 国产精品海角社区在线观看| 欧美综合一区第一页| 最近2019中文字幕大全第二页| 欧美放荡办公室videos4k| 欧美理论电影在线观看| 成人黄色午夜影院| 91理论片午午论夜理片久久| 国产精品黄页免费高清在线观看| 亚洲欧洲激情在线| 欧美激情久久久久久| 亚洲视频国产视频| 95av在线视频| 久久99久久久久久久噜噜| 久久久久久噜噜噜久久久精品| 国产免费久久av| 日韩在线免费高清视频| 日本久久精品视频| 日韩在线视频网| 亚洲精品日产aⅴ| 一区二区三区美女xx视频| 亚洲第一免费网站| 在线视频欧美日韩精品| 久久久久久久久久亚洲| 欧美在线视频网| 国产精品久久久久77777| 国产精品爽黄69天堂a| 欧美日韩国产色| 国产精品扒开腿爽爽爽视频| 午夜免费日韩视频| 欧美大尺度在线观看| 国产一区二区三区在线免费观看| 九色精品免费永久在线| 日本韩国欧美精品大片卡二| 韩国国内大量揄拍精品视频| 日韩精品中文字幕在线播放| 国内精品400部情侣激情| 成人欧美一区二区三区在线湿哒哒| 亚洲欧美日韩视频一区| 一区二区在线免费视频| 精品视频一区在线视频| 久久亚洲精品视频| 伊人久久久久久久久久久久久| 成人写真视频福利网| 热久久99这里有精品| 北条麻妃一区二区在线观看| 亚洲美女视频网| 亚洲福利视频免费观看| 免费91麻豆精品国产自产在线观看| 亚洲国产精品国自产拍av秋霞| 亚洲国产精品yw在线观看| 欧美俄罗斯乱妇| 国产精品中文久久久久久久| 97**国产露脸精品国产| 国产精品日韩在线观看| 亚洲专区中文字幕| 国内精品久久久久伊人av| www.亚洲一二| 久久久精品一区二区三区| 色妞色视频一区二区三区四区| 高潮白浆女日韩av免费看| 亚洲白虎美女被爆操| 欧美日韩免费在线观看| 亚洲精品国偷自产在线99热| 热久久99这里有精品| 日本午夜精品理论片a级appf发布| 尤物yw午夜国产精品视频明星| 在线播放日韩av| 在线电影欧美日韩一区二区私密| 日韩高清电影好看的电视剧电影| 日本高清久久天堂| 国产精品福利在线观看| 国产亚洲视频在线| 亚洲精品国产精品国自产观看浪潮| 久久久国产一区二区| 国产香蕉97碰碰久久人人| 亚洲精品福利在线观看| 国产一区二区丝袜| 欧美网站在线观看| 日韩在线中文字幕| 疯狂做受xxxx欧美肥白少妇| 欧美肥老妇视频| 97国产一区二区精品久久呦| 午夜精品久久久99热福利| 国产亚洲精品高潮| 亚洲高清一区二| 国产一区二区视频在线观看| 久久精品亚洲一区| 国模极品一区二区三区| 亚洲老头同性xxxxx| 国产精品电影观看| 国产精品久久久久久久美男| 岛国视频午夜一区免费在线观看| 国产在线观看精品一区二区三区| 中文字幕亚洲自拍| 欧美在线视频在线播放完整版免费观看| 国产在线精品播放| 91国内揄拍国内精品对白| 高清在线视频日韩欧美| 欧美性开放视频| 视频在线观看99| 亚洲精品国产精品国自产观看浪潮| 日本aⅴ大伊香蕉精品视频| 欧美成人免费观看| 色av中文字幕一区| 久久99久久99精品免观看粉嫩| 日韩av最新在线| 性亚洲最疯狂xxxx高清| 欧美日韩在线观看视频小说| 亚洲欧美中文字幕在线一区| 久久久91精品国产| 国产91精品最新在线播放| 久久综合色影院| 久久成年人免费电影| 亚洲第一男人天堂| 国产精品99一区| 欧美午夜视频在线观看| 亚洲一区二区三区四区在线播放| 国产精品最新在线观看| 欧美另类极品videosbestfree| 日本免费一区二区三区视频观看| 午夜美女久久久久爽久久| 欧美日韩视频免费播放| 久久久久久久电影一区| 久久久久久这里只有精品| 欧美小视频在线| 国产精品自在线| 狠狠爱在线视频一区| 在线视频亚洲欧美| 最近中文字幕日韩精品| 欧美日韩在线免费观看| 国产又爽又黄的激情精品视频| 欧美壮男野外gaytube| 亚洲香蕉在线观看| 一区二区三区视频免费在线观看| 久久亚洲欧美日韩精品专区| 亚洲aaaaaa|