目錄
為MongoDB安裝GO驅動程序
MongoDB Crud操作
在MongoDB中閱讀文檔
在MongoDB中創建文檔
在MongoDB中更新文檔
在MongoDB中刪除文檔
結論
首頁 系統教程 MAC 如何使用MongoDB

如何使用MongoDB

Apr 12, 2025 am 09:27 AM

如何使用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添加到允許的連接列表中,為已部署的群集創建數據庫用戶,連接到群集到群集,然後開始使用數據。

如何使用MongoDB

從https://account.mongodb.com/account/register上進行註冊,仔細閱讀以下步驟。如果您遇到任何打ic,這是每個步驟的官方指南。

這些都不需要代碼,您應該能夠完成地圖集接口中的操作。完成此步驟後,我們可以在MongoDB Go驅動程序的幫助下繼續進行設置以連接到MongoDB數據庫群集。

請注意,當您連接到群集時,需要選擇“連接到應用程序” ,然後在下一頁上複製連接字符串以添加到應用程序代碼:

如何使用MongoDB

複製摘要以稍後在代碼編輯器中使用。我們希望將代碼位保存在Stippetslab中,這是一個專用的應用程序,可以託管代碼片段的庫。

如何使用MongoDB

記住要替換在摘要中,帶有您在Atlas註冊時創建的數據庫密碼。我們建議在安全位置保存您的登錄憑據。

我們使用App Secret保存我們的MongoDB群集登錄憑據:

如何使用MongoDB

現在,創建並保存包含您的應用程序的文件中的文件中的文件夾文件夾(您可以為項目文件夾使用其他名稱,但請確保您在早期步驟中提供的代碼中進行了各自的更改)。

我們正在CodeRunner開發此項目,該項目允許您以25種以上的語言(包括GO)保存,編輯和運行代碼。因此,要編寫我們的程序,我們使用MongoDB的示例代碼從本官方教程中創建了Main.go,然後將文件放入我們的root文件夾中以供項目 /go-quickStart。

如何使用MongoDB

這是我們使用的代碼:

包裝主
進口 (
    "情境"
    “編碼/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文件中:

  1. 在終端執行VIM .env。
  2. 使用以下方式設置Mongodb_uri的值
    mongodb_uri =“ mongodb srv:// <username>:<password>@cluster0.icb48.mongodb.net/myfirstdatabase?retrywrites?retrywrites = true&w =多數  </password></username>
    登入後複製
    登入後複製
  3. 執行:WQ!命令。
  4. 在終端中執行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

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教程中可用的完整示例代碼。

運行您的代碼並獲得確認您的文檔已插入:

如何使用MongoDB

要檢查,請運行查詢。您應該回饋示例信息:

如何使用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中刪除文檔

最後,讓我們看看如何從MongoDB數據庫中刪除文檔。

此代碼將刪除您集合中的第一個匹配標題:

coll:= client.database(“ insertdb”)。集合(“電影”)
過濾器:= bson.d {{“標題”,“您新更新的標題”}}
結果,err:= coll.deleteone(context.todo(),filter)
如果err! = nil {
    恐慌(err)
}
登入後複製

如何使用MongoDB

結論

如您所見,設置MongoDB數據庫與Golang一起工作只需幾行代碼。我們希望本教程對掌握Golang和MongoDB數據庫的旅程有所幫助。 Go and MongoDB一起工作很棒,可以成為許多項目中的方便助手,因此我們希望您能夠在本指南的幫助下弄清楚如何使用MongoDB。

請注意,MongoDB地圖集只允許您創建一個免費的群集,您必須為任何其他群集付費。

對於我們的項目,我們還使用了三個其他應用程序 - CodeRunner,SnippetSlab和Secrets。您可以在Setapp中找到它們,Setapp是一項精心策劃的工具服務,可用於日常生產力和自動化日常任務。

發現用於編碼,清理Mac,備份文件以及有關SetApp的更多工具。從現在開始的7天免費試用期開始,然後嘗試CodeRunner,SnippetSlab,Secrets和數十個工具。

以上是如何使用MongoDB的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1656
14
CakePHP 教程
1415
52
Laravel 教程
1309
25
PHP教程
1257
29
C# 教程
1229
24
更新到紅杉後,修復Mac慢速運行速度 更新到紅杉後,修復Mac慢速運行速度 Apr 14, 2025 am 09:30 AM

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

如何擺脫'屏幕正在觀察”錯誤 如何擺脫'屏幕正在觀察”錯誤 Apr 05, 2025 am 10:19 AM

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

如何減少Windowser Mac CPU使用 如何減少Windowser Mac CPU使用 Apr 16, 2025 pm 12:07 PM

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

如何將視頻製作到Mac和iPhone上的現場照片中:詳細的步驟 如何將視頻製作到Mac和iPhone上的現場照片中:詳細的步驟 Apr 11, 2025 am 10:59 AM

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

MAC磁盤實用程序:如何用急救維修磁盤?如何恢復它? MAC磁盤實用程序:如何用急救維修磁盤?如何恢復它? Apr 13, 2025 am 11:49 AM

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

如何僅在Mac上的Dock中顯示活動應用 如何僅在Mac上的Dock中顯示活動應用 Apr 09, 2025 am 11:44 AM

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

Google Chrome不在Mac上工作嗎?為什麼網站不加載? Google Chrome不在Mac上工作嗎?為什麼網站不加載? Apr 12, 2025 am 11:36 AM

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

如何在Mac上刪除文件 如何在Mac上刪除文件 Apr 15, 2025 am 10:22 AM

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

See all articles