使用golang怎么連接mongoDB-創(chuàng)新互聯(lián)

使用golang怎么連接mongoDB?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

創(chuàng)新互聯(lián)公司2013年至今,先為城區(qū)等服務(wù)建站,城區(qū)等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為城區(qū)企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

Mogondb 的應(yīng)用場(chǎng)景: 

比如一篇CSDN博客,博客內(nèi)容,博客作者,發(fā)布時(shí)間,評(píng)論,閱讀量等信息可以將這些信息存儲(chǔ)到一個(gè)類似JSON數(shù)據(jù)中。如果用mysql需要將不同的信息分別存儲(chǔ)于不同的表中,使用的時(shí)候,查詢多表或者使用JOIN查詢數(shù)據(jù),導(dǎo)致查詢過慢。而使用MongoDB,將數(shù)據(jù)存儲(chǔ)在一起,需要數(shù)據(jù)時(shí),一次就能查詢到數(shù)據(jù)。更新數(shù)據(jù)或者添加數(shù)據(jù)可以在原有的數(shù)據(jù)集上直接更新或者添加,很方便。

MongoDB易于管理,更新數(shù)據(jù),可以不用像傳統(tǒng)的關(guān)系型數(shù)據(jù)使用JOIN來進(jìn)行查詢,提高性能。

Mogodb擴(kuò)展起來很容易,可以在多臺(tái)服務(wù)器進(jìn)行部署。而且對(duì)于大數(shù)據(jù),對(duì)于csdn博客的系統(tǒng)來講,每一天,每一個(gè)月,每一年都有大量的博客被寫出來,數(shù)據(jù)量的增長(zhǎng)每年都是很大的,mongoDB可以在不停機(jī)的情況下進(jìn)行彈性擴(kuò)展,

意思是增加上幾臺(tái)存儲(chǔ)的服務(wù)器,形成分布式存儲(chǔ)。

MongoDB很適合于這種需求場(chǎng)景的,不知道csdn怎么實(shí)現(xiàn)的 ?

MongoDB 還能高效存儲(chǔ)二進(jìn)制大對(duì)象,比如照片,音樂,視頻的存儲(chǔ),龐大的數(shù)據(jù)還能加索引和實(shí)時(shí)聚合

mongodb將數(shù)據(jù)存儲(chǔ)在靈活的類似json的文檔中,字段結(jié)構(gòu)可能因文檔而異,數(shù)據(jù)結(jié)構(gòu)可隨時(shí)改變

Json模型可以映射到應(yīng)用程序代碼中的對(duì)象,這樣就很方便的進(jìn)行使用,有orm的感覺。

在golang中就可以直接與結(jié)構(gòu)體關(guān)聯(lián)起來。

類似json的文檔數(shù)據(jù)結(jié)構(gòu)叫做BSON,比json最突出的好處是BSON可遍歷。

MongoDB支持二維空間索引,使用空間索引,mongoDB支持一種特殊查詢,如某地圖網(wǎng)站上可以查找離你最近的咖啡廳,銀行等信息。這個(gè)使用mongoDB的空間索引結(jié)合特殊的查詢方法很容易實(shí)現(xiàn)。

滴滴、膜拜、OFO等基于位置進(jìn)行查詢的場(chǎng)景都可以使用MongoDB的位置索引。

golang 連接mongodb

golang 沒有官方mongodb驅(qū)動(dòng),但是有社區(qū)的驅(qū)動(dòng):http://labix.org/mgo

第一步:連接mongodb

package main

import (
  "gopkg.in/mgo.v2"
  "fmt"
)
func main() {
  session, err := mgo.Dial("mongodb://123.207.215.200:27017")
  defer session.Close()
  if err !=nil {
    fmt.Println(err)
    return
  }
  names,err:=session.DatabaseNames();
  if err !=nil {
    fmt.Println("未查詢到數(shù)據(jù)庫(kù)名字:",err)
  }
  fmt.Println(names)
}

運(yùn)行結(jié)果:

[local mytest]

其他url的拼接規(guī)則:

mongodb://[username:password@]host1[:port1][,host2[:port2],…[,hostN[:portN]]][/[database][?options]] 
mongodb:// 這是固定的格式,必須要指定。

username:password@ 可選項(xiàng),如果設(shè)置,在連接數(shù)據(jù)庫(kù)服務(wù)器之后,驅(qū)動(dòng)都會(huì)嘗試登陸這個(gè)數(shù)據(jù)庫(kù)
host1 必須的指定至少一個(gè)host, host1 是這個(gè)URI唯一要填寫的。它指定了要連接服務(wù)器的地址。如果要連接復(fù)制集,請(qǐng)指定多個(gè)主機(jī)地址。

portX 可選的指定端口,如果不填,默認(rèn)為27017

/database 如果指定username:password@,連接并驗(yàn)證登陸指定數(shù)據(jù)庫(kù)。若不指定,默認(rèn)打開 test 數(shù)據(jù)庫(kù)。
?options 是連接選項(xiàng)。如果不使用/database,則前面需要加上/。所有連接選項(xiàng)都是鍵值對(duì)name=value,鍵值對(duì)之間通過&或;(分號(hào))隔開

參考菜鳥教程或者官方文檔都可以:
http://edu.jb51.net/mongodb/mongodb-connections.html
https://docs.mongodb.com/manual/reference/connection-string/index.html

附加一:

windows 工具 連接mongodb的方式,如果用代碼連接mongodb,發(fā)生錯(cuò)誤,可以用工具檢查服務(wù)是否能正常被連接。
(一).安裝windows mongodb,參考網(wǎng)址:https://www.jb51.net/article/85605.htm

(二).使用命令行的進(jìn)入mongodb 安裝目錄中bin目錄中,執(zhí)行

C:\Program Files\MongoDB\Server\3.6\bin>mongo 123.207.215.200:27017

需要注意的是 此時(shí)的url 沒有”mongodb://”

linux的方式類似:

root@VM-192-98-ubuntu:/usr/local/mongodb/bin# ./mongo 127.0.0.1

看完上述內(nèi)容,你們掌握使用golang怎么連接mongoDB的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,感謝各位的閱讀!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

本文名稱:使用golang怎么連接mongoDB-創(chuàng)新互聯(lián)
URL標(biāo)題:http://bm7419.com/article30/cdjcso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、靜態(tài)網(wǎng)站、網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)公司定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司