Wie man MongoDB mit Golang verbindet

Wie man MongoDB mit Golang verbindet

Genau wie die C-Sprache ist die Golang-Sprache auch eine Open-Source-Sprache, die auf vielen Tools unter Windows und Linux/Unix-Systemen ausgeführt werden kann, um Datensätze zu erstellen. Wie C ++ und Java können wir eine Verbindung zwischen einem MongoDB -Client -System herstellen und unter Verwendung eines beliebigen Golang -Tools Sprache gehen. Dazu werden wir in Ubuntu 22 mehrere sehr wichtige und notwendige Schritte ausführen.04 Durch die Verwendung des Visual Studio -Code -Tools für ein Programm. Bevor wir eine Verbindung mit MongoDB -Kompass herstellen, neigen wir dazu, den MongoDB- und Visual Studio -Code zusammen mit „Go“ zu installieren und im Handbuch zu den erforderlichen Erweiterungen erforderlich.

MongoDB installieren

Wir haben das „DEB“ -Paket des MongoDB -Servers von seiner offiziellen Website heruntergeladen. Das "DEB" -Paket kann auch in Ubuntu mit dem Befehlstool „DPKG“ auf dem Terminal ausgeführt werden.

Die MongoDB -Serverdatei auf dem Terminal mit „sudo“ -Rädern ausgeführt und einen Passcode bereitgestellt.

saeedraza@virtualBox: ~ $ sudo dpkg -i mongoDb-org-server_6.0.3_amd64.Deb


Wenn Sie den MongoDB -Service nach dem Versuch der Anweisung „SystemCTL“ von Ubuntu an Ihrem Ende inaktiv gefunden haben, um den Status zu überprüfen, können Sie ihn auch aktualisieren. Um den MongoDB zu aktivieren, probieren Sie den Systemctl -Befehl mit den Schlüsselwörtern "Start" und "Aktivieren".

saeedraza@virtualBox: ~ $ sudo systemctl starten mongod
saeedraza@virtualBox: ~ $ sudo systemCtl aktivieren Mongod
saeedraza@virtualBox: ~ $ sudo systemctl Status Mongod

Start MongoDB

Starten Sie nach der Installation die MongoDB -Shell schnell mit der Abfrage „Mongo“. Wechseln Sie zur Datenbank "admin", um die Verfahrensschritte auszuführen.

saeedraza@virtualbox: ~ $ mongo
MongoDB Shell Version V5.0.14
Verbindung mit: MongoDB: // 127.0.0.1: 27017/?compressors = deaktiviert & gssapiserviceName = mongoDB
Implizite Sitzung: Sitzung "ID": UUID ("34CC8E0F-B6B0-4191-ADEA-676411F66CF5")
MongoDB Server -Version: 6.0.3


Wir erstellen einen neuen Benutzer mit Administratorrechten mit der Funktion createUser ().

> Verwenden Sie Admin
auf DB admin umgeschaltet
> db.CreateUser (

… Benutzer: "Saeed",
… PWD: "12345",
… Rollen: [Rolle: "userAdMinanyDatabase", DB: "Admin", "ReadWriteanyDatabase"]
…)
Erfolgreich hinzugefügt Benutzer:
"Benutzer": "Saeed",
"Rollen": [

"Rolle": "UserAdminanyDatabase",
"DB": "Admin" "
,
"ReadWriteanyDatabase"
]


Autorisiert den Benutzer "SAEED" mithilfe von Anmeldeinformationen in der Funktion "Auth" und zeigte die derzeit eigenen Datenbanken von MongoDB angezeigt.

> db.Auth ('Saeed', '12345')
1
> Zeigen Sie DBS
admin 0.000 GB
Konfiguration 0.000 GB
Lokal 0.000 GB

Installieren Sie den MongoDB -Treiber für Golang

Öffnen Sie das Terminal im Visual Studio -Code und bewegen Sie sich im Ordner „Golang“, in dem Sie Ihre Quellcodedateien hinzufügen möchten. Führen Sie den Befehl "go mod init" mit dem Ordnernamen aus, um ein "Go" zu erstellen.Mod ”Datei. Laden Sie den MongoDB -Treiber für die GO -Sprache über die Abfrage „Go Get“.

saeedraza@virtualbox: ~/golang $ go mod init golang


In einigen Fällen ist es erforderlich, den MongoDB -Treiber des BSON -Formats auch für Golang zu laden.

saeedraza@virtualbox: ~/golang $ go t Go Go.MongoDb.org/mongofahrer/bson


Stellen Sie sicher.


Zusammen mit „GOPLS“ muss der Golang möglicherweise sicher installiert werden.

Beispiel für Golang -Code

Die Codedatei “Haupt.Go “wurde mit dem Import einiger nützlicher Pakete begonnen, die im gesamten Code für die Verbindung verwendet werden. Hier wurden insgesamt 7 Importe hergestellt. Nach dem Import der Pakete haben wir eine neue Struktur namens Mongofield mit 4 JSON -Typ -Datenmitgliedern erstellt. 2 dieser Datenmitglieder sind Zeichenfolgen und 2 von ihnen sind ganze Zahlen.

Danach wurde eine konstante Art von Variablen „URI“ mit einer Client -Adresse deklariert oder Sie müssen Ihre Localhost -Adresse gemäß dem Benutzernamen und dem Passwort hinzufügen. Die Funktionen main () beginnen mit der Verwendung von Connect () -Funktion von Golang, um sich mit MongoDB durch ein „Mongo“ -Objekt zu verbinden. Die Funktion applyuri () wird die Variable „URI“ als Argument für die Funktion client () anwenden, damit eine Verbindung über eine Host -Adresse festgelegt werden kann. Das Kontextpaket hat die Hauptaufgabe gespielt, um die Funktion toDo () für die Anforderung einer Verbindung aufzurufen. Wenn die Verbindung zwischen dem Visual Studio-Code und dem MongoDB erfolgreich hergestellt wurde, wird das Client-zurückgegebene Signal zur Variablen „Client“ hinzugefügt. Andernfalls wird der Fehler in der Variablen "err" gespeichert.

Die Anweisung "If" ist hier, um die Nachrichten entsprechend anzuzeigen. Wenn die Variable "ERR" einen anderen Wert als "nil" erhielt, druckt die Funktion "println () aus dem Formatpaket" FMT "-Paket diesen Fehler auf dem Ausgangsbildschirm, das Terminal. Das "Betriebssystem" -Paket wird verwendet, um das Programm zu beenden, wenn der Fehler auftritt. Das Kontextpaket wird hier erneut verwendet, um die Zeitüberschreitung zu verwalten, damit die Verbindung über dieses Programm festgelegt werden soll. Für den jeweiligen Zeitlimitwert „CTX“ wird unser Programm ausgeführt. Eine neue Sammlung „Person“ zusammen mit einer neuen Datenbank „Neu“ wird im Client MongoDB über Golang erstellt. Das Println () zeigt den Typ einer Sammlung „C“ mit der Funktion "typeof" aus dem reflektierenden Paket an.

Ein Datensatz „Rec“ wurde mit den Struktur -Mongofield -Datenmitgliedern erstellt, die hier nacheinander initialisiert werden. Der Datensatztyp wurde angezeigt und der Datensatz „REC“ wird unter Verwendung der InsertOne -Funktion mit dem Sammlungsobjekt „C“ in den Client -MongoDB eingefügt. Die erfolgreiche Insertion führt zu einer Variablen „Ergebnis“, die den Erfolgswert enthält, während die Variable „Inserterr“ den Fehlerwert enthält. Die Anweisung „Wenn“ wird erneut verwendet, um den Fehler beim Einfügen eines Datensatzes nur dann zu überprüfen und anzuzeigen. Andernfalls wird der Teil der Anweisung "sonst" einige println () -Anweisungen festgehalten, um den Typ eines zu eingefügten Datensatzes, die Datensatz -ID und die Erfolgsnachricht für die Verbindung und Einfügung anzuzeigen. Der Golang -Code ist jetzt abgeschlossen.

Paket Main
importieren (
"Kontext"
"fmt"
"OS"
"reflektieren"
"Zeit"
"gehen.MongoDb.Org/Mongo-Fahrer/Mongo "
"gehen.MongoDb.Org/Mongo-Fahrer/Mongo/Optionen "
)
Geben Sie Mongofield Struct ein
Name String 'JSON: "Field Str"'
E -Mail -Zeichenfolge 'JSON: "Field Str"'
Alter int 'JSON: "Field int"'
Gehalt int 'JSON: "Field int"'

const Uri = “MongoDB: // Benutzer: Passwort@localhost: 27017/?maxpoolsize = 20 & w = Mehrheit ”
func main ()
Client, err: = mongo.Connect (Kontext.Todo (), Optionen.Klient().Anwenden (URI))
Wenn er irrt != nil
fmt.Println ("Mongo.Connect () Fehler: ", ähm)
Betriebssystem.Ausgang (1)

CTX, _: = Kontext.Mit Timeout (Kontext.Hintergrund (), 15*Zeit.Zweite)
C: = Client.Datenbank ("neu").Sammlung ("Person")
fmt.Println ("Sammlungstyp:", reflektieren.Typof (c), "\ n")
Rec: = mongofield
Name: "Eden",
E -Mail: "[email protected] ",
Alter: 45,
Gehalt: 50000
fmt.Println ("Datensatztyp:", reflektieren.Typof (rec), "\ n")
Ergebnis, Inserterr: = C.InsertOne (CTX, REC)
Wenn Inserterr != nil
fmt.Println ("InsertOne -Fehler:", Inserterr)
Betriebssystem.Ausgang (1)
anders
fmt.Println ("InsertOne -Ergebnistyp:", reflektieren.Typof (Ergebnis))
Neue Id = Ergebnis.Eingeklagte
fmt.Println ("eingefügte Datensatz -ID:", Newid))
fmt.Println ("erfolgreich verbundene und eingefügte Datensätze!"))


Speichern Sie den Golang -Code und öffnen Sie das Terminal innerhalb des Golang -Ordners. Verwenden Sie nun die Anweisung "GO" mit dem Schlüsselwort "Ausführen", um das "Main" auszuführen.Go ”Code -Datei. Das Debugging war erfolgreich und die Kollektion „Person“ wurde erfolgreich in der MongoDB generiert. Die Ausgabe zeigt den Sammlungstyp, den Datensatztyp, den Ergebnistyp und die „ID“ eines Datensatzes an.

saeedraza@virtualBox: ~/golang $ go run main.gehen
Sammlungstyp: *Mongo.Sammlung
Datensatztyp: Haupt.Mongofield
InsertOne -Ergebnistyp: *Mongo.Insertoneresult
Eingeklagte Datensatz -ID: ObjectID (“63A8535AC97B4218230664B6”)
Erfolgreich verbundene und eingefügte Datensätze.


Öffnen Sie den Kompass „MongoDB“ an Ihrem Ende und verbinden Sie sich mit dem lokalen Host mit dem „URI“ mit dem Host.


Nachdem wir uns in der "neuen" Datenbank bewegt haben, haben wir die Sammlung "Person" zusammen mit dem Datensatz, den wir hinzugefügt haben.

Abschluss

Diese Anleitung veranschaulicht die Verwendung von GO -Sprache zum Hinzufügen von Datensätzen im MongoDB -Client mit einem Visual Studio -Code -Tool im Linux -System. Dafür haben wir den MongoDB zusammen mit dem MongoDB -Treiber für „Golang“ im System installiert. Mit einer Golang -Sprache haben wir eine "Go" -Datei in MongoDB erstellt und die Vielfalt der Pakete und Funktionen von Golang besprochen, um eine Verbindung zu MongoDB zu erstellen und Datensätze einzufügen. Am Ende haben wir die Ergebnisse auf dem MongoDB -Kompass gezeigt, aus denen hervorgeht, dass Sie jedes Golang -Tool mit MongoDB anschließen können.