如何使用MongoDB
MongoDB是面向文檔的NOSQL數據庫。如果您想在Golang項目中使用它,好消息 - MongoDB確實支持Golang!遵循有關將GO和MongoDB連接的教程以及涉及兩者的項目的開發項目。
在下面的文章中,我們準確地描述瞭如何在GO中設置您的蒙古德。另外,我們展示瞭如何運行數據庫中的一些基本CRUD操作。
要遵循此Golang的步驟 - MongoDB教程,您需要在Mac上安裝,因此請確保在開始之前擁有它。
為MongoDB安裝GO驅動程序
為了將MongoDB與GO一起使用,您需要一個相應的驅動程序。幸運的是,MongoDB提供了該過程的官方文件。讓我們一起瀏覽所有步驟。
免責聲明:在這篇文章中,我們僅涵蓋GO司機,其他MongoDB司機,請檢查正式文檔。
要開始使用MongoDB,請在新目錄中使用GO MOD初始化項目。這是終端命令:
Mkdir Go-Quickstart CD Go-Quickstart Go Mod Init Go-Quickstart
接下來,使用go get命令添加mongoDB依賴性:
Go go.mongodb.org/mongo-driver/mongo
現在,您準備在MongoDB帳戶中創建數據庫群集。為此,您需要加入MongoDB地圖集。這是一個很好的解決方案,可以在Golang的Mongodb弄濕您的腳,因為它具有自由層,並託管在雲中。
連接MongoDB Golang驅動程序所需的操作是創建一個Atlas帳戶(您只需通過Google帳戶登錄),部署免費群集,將IP添加到允許的連接列表中,為已部署的群集創建數據庫用戶,連接到群集到群集,然後開始使用數據。
從https://account.mongodb.com/account/register上進行註冊,仔細閱讀以下步驟。如果您遇到任何打ic,這是每個步驟的官方指南。
這些都不需要代碼,您應該能夠完成地圖集接口中的操作。完成此步驟後,我們可以在MongoDB Go驅動程序的幫助下繼續進行設置以連接到MongoDB數據庫群集。
請注意,當您連接到群集時,需要選擇“連接到應用程序” ,然後在下一頁上複製連接字符串以添加到應用程序代碼:
複製摘要以稍後在代碼編輯器中使用。我們希望將代碼位保存在Stippetslab中,這是一個專用的應用程序,可以託管代碼片段的庫。
記住要替換
我們使用App Secret保存我們的MongoDB群集登錄憑據:
現在,創建並保存包含您的應用程序的文件中的文件中的文件夾文件夾(您可以為項目文件夾使用其他名稱,但請確保您在早期步驟中提供的代碼中進行了各自的更改)。
我們正在CodeRunner開發此項目,該項目允許您以25種以上的語言(包括GO)保存,編輯和運行代碼。因此,要編寫我們的程序,我們使用MongoDB的示例代碼從本官方教程中創建了Main.go,然後將文件放入我們的root文件夾中以供項目 /go-quickStart。
這是我們使用的代碼:
包裝主 進口 ( "情境" “編碼/JSON” “ FMT” "紀錄" “ OS” “ github.com/joho/godotenv” “ go.mongodb.org/mongo-driver/bson” “ go.mongodb.org/mongo-driver/mongo” “ go.mongodb.org/mongo-driver/mongo/options” ) func main(){ 如果err:= godotenv.load(); err! = nil { log.println(“找到的.env文件”) } uri:= os.getenv(“ mongodb_uri”) 如果uri ==” { log.fatal(“您必須設置'mongodb_uri'環境變量。請參閱\ n \ t https://docs.mongodb.com/drivers/go/current/current/usage-usage-examples/#environmples/#environmples-variond-variormable”) } 客戶端,err:= mongo.connect(context.todo(),options.client()。appluri(uri)) 如果err! = nil { 恐慌(err) } defer func(){ 如果err:= client.disconnect(context.todo()); err! = nil { 恐慌(err) } }() coll:= client.database(“ sample_mflix”)。集合(“電影”) 標題:=“回到未來” 變量結果BSON.M err = coll.findone(context.todo(),bson.d {{“ title”,title}})。 decode(&result) 如果err == mongo.errnodocuments { fmt.printf(“未找到標題%s \ n”,標題) 返回 } 如果err! = nil { 恐慌(err) } jsondata,err:= json.marshalindent(結果,“”,“”) 如果err! = nil { 恐慌(err) } fmt.printf(“%s \ n”,jsondata) }
現在,為了成功運行此代碼,您還需要應用程序的根文件夾中的.env文件(在我們的示例中/go-quickStart)。
要創建一個空的.env文件,我們使用了此終端命令:
觸摸.env
接下來,我們將連接字符串添加到帶有一系列終端命令的.env文件中:
- 在終端執行VIM .env。
- 使用以下方式設置Mongodb_uri的值
mongodb_uri =“ mongodb srv:// <username>:<password>@cluster0.icb48.mongodb.net/myfirstdatabase?retrywrites?retrywrites = true&w =多數 </password></username>
登入後複製登入後複製 - 執行:WQ!命令。
- 在終端中執行CAT .ENV檢查您的更改已正確保存。您的.env文件應讀取:
mongodb_uri =“ mongodb srv:// <username>:<password>@cluster0.icb48.mongodb.net/myfirstdatabase?retrywrites?retrywrites = true&w =多數 </password></username>
登入後複製登入後複製
現在,您準備使用命令進行MongoDB數據庫ping:
去運行main.go
如果您按照ATLAS帳戶設置的步驟中的指示加載了示例數據庫,則應從該示例數據庫中獲得包含信息的響應。
在我們的示例中,我們在好萊塢電影中從MongoDB圖書館獲得了信息:
MongoDB Crud操作
要在MongoDB執行CRUD操作,您需要導入BSON軟件包。由於我們用於上面的GO程序示例的代碼(來自MongoDB官方教程),因此您不必手動執行此操作。
但是,如果您正在寫自己的東西,那麼導入的行是:
“ go.mongodb.org/mongo-driver/bson”
現在,讓我們在樣本MongoBD數據庫中閱讀一些數據。
在MongoDB中閱讀文檔
這是您需要添加到main的代碼。 go以要求有關房間電影的信息請求:
coll:= client.database(“ sample_mflix”)。集合(“電影”) 變量結果BSON.M err = coll.findone(context.todo(),bson.d {{“ title”,“ the the the the the the the the}})。decode(&result) 如果err! = nil { 如果err == mongo.errnodocuments { //此錯誤意味著您的查詢與任何文檔都不匹配。 返回 } 恐慌(err) }
您也可以在此處的官方MongoDB教程中復制示例main.go文件的完整代碼。
接下來,讓我們轉到寫作操作。
在MongoDB中創建文檔
使用此代碼將文檔添加到您的集合中:
coll:= client.database(“ insertdb”)。集合(“電影”) doc:= = bson.d {{“ title”,“ 1672”},{“ text”,“這只是一個測試”}}} 結果,err:= coll.insertone(context.todo(),doc) 如果err! = nil { 恐慌(err) }
此頁面的官方MongoDB教程中可用的完整示例代碼。
運行您的代碼並獲得確認您的文檔已插入:
要檢查,請運行查詢。您應該回饋示例信息:
另請閱讀:
- 與MySQL一起使用
- 將Redis用作數據庫
- Mac的最佳開發人員工具
- git客戶端Mac
在MongoDB中更新文檔
現在,您可以向數據庫記錄介紹更改。為此,請使用更新工具。
這是一個示例代碼:
coll:= client.database(“ insertdb”)。集合(“電影”) id,_:= primitive.ObjectIdFromHex(“ 6205210BC9748A7CEE6AF8CB”) 過濾器:= BSON.D {{“ _ ID”,ID}} 更新:= = bson.d {{“ $ set”,bson.d {{“平均_rtng”,4.5}}}}}}}} 結果,err:= coll.updateone(context.todo(),過濾器,更新) 如果err! = nil { 恐慌(err) }
運行更新的程序代碼後的結果應讀取:文檔更新:1
運行查詢進行測試。這是您的結果外觀(請注意,我們進行了很多更新以重新檢查代碼,因此我們的結果包含的信息比以上更新更多的信息):
在MongoDB中刪除文檔
最後,讓我們看看如何從MongoDB數據庫中刪除文檔。
此代碼將刪除您集合中的第一個匹配標題:
coll:= client.database(“ insertdb”)。集合(“電影”) 過濾器:= bson.d {{“標題”,“您新更新的標題”}} 結果,err:= coll.deleteone(context.todo(),filter) 如果err! = nil { 恐慌(err) }
結論
如您所見,設置MongoDB數據庫與Golang一起工作只需幾行代碼。我們希望本教程對掌握Golang和MongoDB數據庫的旅程有所幫助。 Go and MongoDB一起工作很棒,可以成為許多項目中的方便助手,因此我們希望您能夠在本指南的幫助下弄清楚如何使用MongoDB。
請注意,MongoDB地圖集只允許您創建一個免費的群集,您必須為任何其他群集付費。
對於我們的項目,我們還使用了三個其他應用程序 - CodeRunner,SnippetSlab和Secrets。您可以在Setapp中找到它們,Setapp是一項精心策劃的工具服務,可用於日常生產力和自動化日常任務。
發現用於編碼,清理Mac,備份文件以及有關SetApp的更多工具。從現在開始的7天免費試用期開始,然後嘗試CodeRunner,SnippetSlab,Secrets和數十個工具。
以上是如何使用MongoDB的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

升級到最新 macOS 後,Mac 運行速度變慢?別擔心,你不是一個人!本文將分享我升級到 macOS Sequoia 後解決 Mac 運行緩慢問題的經驗。升級後,我迫不及待地想體驗新功能,例如語音筆記的錄音和轉錄以及改進的步道地圖規劃功能。但安裝後,我的 Mac 開始運行緩慢。 macOS 更新後 Mac 運行緩慢的原因及解決方法 以下是我的經驗總結,希望能幫助您解決 macOS Sequoia 更新後 Mac 運行緩慢的問題: 問題原因 解決方法 性能問題 使用 Novabe

看到“您的屏幕正在被監控”的消息時,您首先想到的可能是有人在入侵您的電腦。但情況並非總是如此。讓我們嘗試找出是否有任何需要您擔心的問題。 保護您的Mac 使用Setapp,您無需擔心選擇保護電腦的工具。您可以快速在Setapp上組建您自己的隱私和安全軟件套件。 免費試用 安全測試“您的屏幕正在被監控”是什麼意思? 出現“您的屏幕正在被監控”的Mac鎖定屏幕消息,原因有很多。 您正在與他人共享屏幕 您正在錄製屏幕 您正在使用AirPlay 您正在使用一些試圖訪問您屏幕的應用程序 您的電腦感染了惡

MACOS Windowser:了解高CPU使用和解決方案 您是否注意到Windowser在Mac上消耗了大量CPU資源? 此過程對於Mac的圖形接口至關重要,渲染了您在屏幕上看到的所有內容。 高c

本指南說明瞭如何在iPhone和Mac上的實時照片,視頻和GIF之間進行轉換。 現代iPhone在圖像處理方面表現出色,但是管理不同的媒體格式可能很棘手。 本教程為各種轉換提供了解決方案

如果您的計算機無法啟動,應用程序保持凍結,無法打開某些文檔,或者性能已慢下來,則可能需要修復Mac磁盤。幸運的是,蘋果公司包含一個可以使用的方便工具

Mac 塢欄優化指南:僅顯示正在運行的應用程序 Mac 的塢欄是系統核心,您可以從中啟動訪達、廢紙簍、最近使用的應用、活躍應用和書籤應用,甚至可以添加“文稿”和“下載”等文件夾。默認情況下,Mac 塢欄會顯示十幾個蘋果自帶的應用程序。大多數用戶還會添加更多應用,卻很少刪除任何應用,導致塢欄雜亂無章,難以有效使用。 本文將介紹幾種方法,幫助您整理和清理 Mac 塢欄,只需幾分鐘即可完成。 方法一:手動整理塢欄 您可以手動移除未使用的應用程序,只保留常用的應用程序。 移除應用程序: 右鍵點擊應用程

Google Chrome的市場份額超過65.7%,是世界上最大的網絡瀏覽器。如果您使用Windows和Android等其他操作系統,則可以使用它,但是許多Mac用戶也喜歡Chrome而不是Safari。莫

管理MAC存儲:刪除文件的綜合指南 每日MAC使用涉及安裝應用程序,創建文件和下載數據。 但是,即使是高端Mac的存儲空間也有限。 本指南提供了刪除未包含的各種方法
