Podobnie jak język C, język Golang jest również językiem open source, który można wykonać na wielu narzędziach w systemach Windows i Linux/UNIX, aby tworzyć rekordy. Podobnie jak C ++ i Java, możemy nawiązać połączenie między systemem klienta MongoDB a językiem GO za pomocą dowolnego narzędzia Golang. Aby to zrobić, wykonamy kilka bardzo ważnych i niezbędnych kroków w Ubuntu 22.04, wykorzystując narzędzie kodu Visual Studio dla programu. Przed nawiązaniem połączenia z MongoDB Compass, mamy tendencję do instalowania kodu MongoDB i Visual Studio wraz z „Go” i wymagane rozszerzenia w przewodniku, aby pomóc Ci w języku Go.
Zainstaluj MongoDB
Pobraliśmy pakiet „Deb” serwera MongoDB z jego oficjalnej strony internetowej. Pakiet „Deb” można również wykonać w Ubuntu za pomocą narzędzia polecenia „DPKG” na terminalu.
Wykonał plik serwera MongoDB na terminalu z prawami „sudo” i dostarczył kod pasów.
saeedraza@virtualbox: ~ $ sudo dpkg -i monongoDB-org-server_6.0.3_AMD64.Deb
Jeśli znalazłeś usługę MongoDB nieaktywną na końcu po wypróbowaniu instrukcji „SystemCtl” Ubuntu, aby sprawdzić status, możesz ją również zaktualizować. Aby aktywować MongoDB, wypróbuj instrukcję SystemCtl za pomocą słów kluczowych „Start” i „Włącz”.
saeedraza@virtualbox: ~ $ sudo systemctl start mongood
saeedraza@virtualbox: ~ $ sudo systemCtl Włącz Mongood
saeedraza@virtualbox: ~ $ sudo systemctl status Mongood
Uruchom MongoDB
Po instalacji szybko uruchom powłokę MongoDB za pomocą zapytania „Mongo”. Przełącz się na bazę danych „administrator”, aby wykonać kroki postępowania.
saeedraza@virtualbox: ~ $ mongo
MongoDB Shell Wersja V5.0.14
Łączenie się z: MongoDB: // 127.0.0.1: 27017/?sprężarki = wyłączone i gssapiserviceName = MongoDB
Sesja niejawna: sesja "id": UUID ("34CC8E0F-B6B0-4191-ADEA-676411F66CF5")
Wersja serwera MongoDB: 6.0.3
Tworzymy nowego użytkownika z prawami administracyjnymi za pomocą funkcji CreateUSer ().
> Użyj administratora
Przełączono na administrator DB
> db.Stwórz użytkownika(
…
… Użytkownik: „Saeed”,
… PWD: „12345”,
… Role: [Rola: „UserAdminAnanyDatabase”, DB: „Admin”, „ReadWriteaneDatabase”]
…)
Pomyślnie dodano użytkownika:
„Użytkownik”: „Saeed”,
„Role”: [
„Rola”: „UserAdminAnanyDatabase”,
„DB”: „Admin”
,
„ReadWriteaneDatabase”
]
Autoryzował użytkownika „SAEED” za pomocą poświadczeń w funkcji „Auth” i wyświetlał aktualnie posiadane bazy danych MongoDB.
> db.Auth („Saeed”, „12345”)
1
> Pokaż DBS
admin 0.000 GB
Config 0.000 GB
Lokalny 0.000 GB
Zainstaluj sterownik MongoDB dla Golang
Otwórz terminal w kodzie Visual Studio i przesuń się w folderze „Golang”, w którym chciałeś dodać pliki kodu źródłowego. Uruchom instrukcję „GO MOD INIT” z nazwą folderu, aby utworzyć „GO.plik mod ”. Załaduj sterownik MongoDB dla języka Go za pomocą zapytania „Go Get”.
saeedraza@virtualbox: ~/golang $ go mod init golang
W niektórych przypadkach konieczne jest załadowanie sterownika MongoDB w formacie BSON.
saeedraza@virtualbox: ~/golang $ idź idź.MongoDB.org/mongo-driver/bson
Pamiętaj, aby dodać niezbędne pakiety rozszerzenia, takie jak „GOPL” w kodzie Visual Studio za pomocą panelu rozszerzeń bez użycia instrukcji.
Wraz z „GOPL” Golang może na pewno zainstalować narzędzie „DLV”.
Przykład kodu Golanga
Plik kodu „główny.Go ”rozpoczęto od importu niektórych przydatnych pakietów, które zostaną wykorzystane w całym kodzie do połączenia. Wykonano tutaj 7 importów. Po zaimportowaniu pakietów stworzyliśmy nową strukturę o nazwie Mongofield z 4 członkami danych typu JSON. 2 z tych elementów danych to ciągi, a 2 z nich to liczby całkowite.
Następnie stały typ zmiennej „URI” został ogłoszony adresem klienta lub musisz dodać swój adres LocalHost według nazwy użytkownika i hasła. Funkcje main () zaczynają się od użycia funkcji Connect () Golang do łączenia się z MongoDB za pomocą obiektu „Mongo”. Funkcja ApplyTuri () będzie przyjmować zmienną „URI” jako argument do zastosowania w funkcji klienta (), aby połączenie można było ustanowić za pośrednictwem adresu hosta. Pakiet kontekstowy odgrywa główną rolę, aby wywołać funkcję todo () w celu żądania połączenia. Jeśli połączenie zostało ustanowione między kodem Visual Studio a MongoDB pomyślnie, sygnał zwrotny zostanie dodany do zmiennej „klienta”; W przeciwnym razie błąd będzie przechowywany w zmiennej „err”.
Instrukcja „If” jest tutaj, aby odpowiednio wyświetlić wiadomości. Jeśli zmienna „ERR” otrzyma wartość inną niż „zero”, funkcja println () z pakietu Format „FMT” będzie drukować ten błąd na ekranie wyjściowym, terminalu. Pakiet „OS” zostanie użyty do wyjścia z programu, jeśli wystąpi błąd. Pakiet kontekstowy jest ponownie wykorzystywany tutaj, aby zarządzać limitą limitu czasu, aby połączyć się za pośrednictwem tego programu. Dla konkretnej wartości limitu czasu „CTX” nasz program będzie wykonywany. Nowa kolekcja „osoba” wraz z nową bazą danych „Nowa” zostanie utworzona w kliencie MongoDB za pośrednictwem Golang. Println () będzie wyświetlać typ kolekcji „c” za pomocą funkcji „typeof” z pakietu Reflect.
Zapis „REC” został utworzony za pomocą struktury elementów danych Mongofield, które są tu zainicjowane jeden po drugim. Typ rekordu został wyświetlony, a rekord „REC” zostanie wstawiony do klienta MongoDB za pomocą funkcji InserTone z obiektem kolekcji „C”. Udane wstawianie prowadzi do zmiennej „wyniku” utrzymującej wartość sukcesu, podczas gdy zmienna „inserterr” będzie utrzymywała wartość awarii. Instrukcja „Jeśli” jest używana ponownie do sprawdzenia i wyświetlania błędu w wstawianiu rekordu tylko wtedy, gdy zmienna „inserterr” utrzymuje inną niż wartość „zero”. W przeciwnym razie część instrukcji „else” będzie zawierała niektóre instrukcje println (), aby wyświetlić rodzaj zapisu, który ma zostać włożony, identyfikator rekordu oraz komunikat sukcesu dla połączenia i wprowadzenia, które miało miejsce. Kod Golang jest teraz kompletny.
Pakiet Main
import (
"kontekst"
„FMT”
„OS”
"odbijać"
"czas"
"Iść.MongoDB.org/mongo-driver/mongo "
"Iść.MongoDB.org/mongo-driver/mongo/opcje "
)
Wpisz Mongofield struct
Nazwa ciąg „JSON:„ Field Str ”
String e -mail „JSON:„ Field Str ”
Wiek int 'json: „field int”
Wynagrodzenie int 'json: „field int”' '
const uri = „MongoDB: // użytkownik: hasło@localHost: 27017/?maxpoolSize = 20 i w = większość ”
func main ()
Klient, err: = Mongo.Connect (kontekst.Todo (), opcje.Klient().Applyturi (URI))
Jeśli err != zero
fmt.Println („Mongo.connect () błąd: ", err)
OS.Wyjście (1)
CTX, _: = kontekst.Z czasem (kontekst.Tło (), 15*czas.Drugi)
C: = Klient.Baza danych („nowy”).Kolekcja („osoba”)
fmt.Println („Typ kolekcji:”, Reporvey.Typeof (c), „\ n”)
Rec: = Mongofield
Nazwa: „Eden”,
E -mail: „[email protected] ",
Wiek: 45,
Wynagrodzenie: 50000
fmt.Println („Typ rekordu:”, Refleksja.Typeof (rec), „\ n”)
wynik, inserterr: = c.Inserton (CTX, REC)
Jeśli inserterr != zero
fmt.Println („błąd wstawiania:”, inserterr)
OS.Wyjście (1)
w przeciwnym razie
fmt.Println („Wstaw typ wyników:”, Zastanów się.Typeof (wynik))
newId = wynik.Wstawa
fmt.Println („Wstawa ID rekordu:”, newId)))
fmt.Println („pomyślnie połączone i wstawione rekordy!")
Zapisz kod Golang i otwórz terminal w folderze Golang. Teraz użyj instrukcji „Go” z słowem kluczowym „Uruchom”, aby wykonać „główny.Go ”plik kodu. Debugowanie zakończyło się sukcesem, a kolekcja „osoba” została pomyślnie wygenerowana w MongoDB. Wyjście pokazuje typ kolekcji, typ rekordu, typ wyniku i „id” rekordu.
saeedraza@virtualbox: ~/golang $ Go run Main.Iść
Typ kolekcji: *Mongo.Kolekcja
Typ rekordu: Main.Mongofield
Wstaw typ wyników: *Mongo.INSERTONERESULT
Wstawiony identyfikator rekordu: ObjectID („63A8535AC97B4218230664B6”)
Pomyślnie połączone i wstawione rekordy.
Otwórz kompas „MongoDB” na końcu i połącz się z lokalnym hostem za pomocą „URI”.
Po przejściu w „nowej” bazie danych, otrzymaliśmy kolekcję „osoba” wyświetlona w sekcji „Dokumenty” wraz z dodanym rekordem.
Wniosek
Ten przewodnik ilustruje użycie języka Go do dodawania rekordów w kliencie MongoDB za pomocą narzędzia kodu Visual Studio w systemie Linux. W tym celu zainstalowaliśmy MongoDB wraz z sterownikiem MongoDB dla „Golang” w systemie. Korzystając z języka Golang, stworzyliśmy plik „Go” w MongoDB i omówiliśmy różnorodność pakietów i funkcji Golang, aby utworzyć połączenie z MongoDB i wstawić rekordy. Ostatecznie zademonstrowaliśmy wyniki kompasu MongoDB, które pokazują, że możesz podłączyć dowolne narzędzie Golang do MongoDB.