Menggunakan MongoDB dalam Go: Panduan Lengkap

王林
Lepaskan: 2023-06-17 18:14:54
asal
4414 orang telah melayarinya

MongoDB ialah pangkalan data NoSQL berasaskan dokumen berprestasi tinggi, sumber terbuka, yang digunakan secara meluas dalam aplikasi web, data besar dan pengkomputeran awan. Bahasa Go ialah bahasa pengaturcaraan yang pantas, mempunyai kecekapan pembangunan yang tinggi dan mempunyai kebolehselenggaraan kod yang kukuh. Artikel ini akan memberi anda pengenalan lengkap tentang cara menggunakan MongoDB dalam bahasa Go.

1. Pasang MongoDB

Sebelum menggunakan MongoDB, anda perlu memasang MongoDB dalam sistem anda. Di bawah sistem Linux, anda boleh memasangnya melalui arahan berikut:

sudo apt-get update
sudo apt-get install mongodb
sudo systemctl start mongodb
Salin selepas log masuk

Di bawah sistem Windows, anda boleh pergi ke tapak web rasmi MongoDB untuk memuat turun versi pakej pemasangan yang sepadan dan ikut gesaan untuk memasangnya.

2. Sambung ke MongoDB

Dalam bahasa Go, menggunakan MongoDB memerlukan pemasangan mgo pakej pihak ketiga. Ia boleh dipasang melalui arahan berikut:

go get gopkg.in/mgo.v2
Salin selepas log masuk

Seterusnya, kita boleh menulis kod berikut untuk menyambung ke MongoDB:

package main

import (
    "fmt"
    "gopkg.in/mgo.v2"
)

func main() {
    session, err := mgo.Dial("localhost:27017")
    if err != nil {
        panic(err)
    }
    defer session.Close()

    collection := session.DB("test").C("users")
    fmt.Println(collection)
}
Salin selepas log masuk

Kod ini akan menyambung ke pangkalan data ujian dalam MongoDB dan mengembalikan pengguna koleksi. Antaranya, sesi ialah pembolehubah jenis mgo.Session, yang mewakili sambungan antara klien dan MongoDB. Kata kunci tangguh akan memastikan session.Close() dilaksanakan sebelum tamat program, iaitu sambungan ditutup. Akhir sekali, kami mengeluarkan nilai koleksi melalui fungsi fmt.Println() untuk mengesahkan sama ada sambungan pangkalan data berjaya.

3. Masukkan dan tanya dokumen

Dalam MongoDB, dokumen ialah unit asas data, serupa dengan baris dalam pangkalan data hubungan. Bahasa Go boleh memasukkan dan menanyakan dokumen melalui pakej mgo. Kod berikut boleh memasukkan dokumen ke dalam koleksi pengguna dalam MongoDB:

package main

import (
    "fmt"
    "gopkg.in/mgo.v2"
    "time"
)

type User struct {
    Name     string `bson:"name"`
    Age      int    `bson:"age"`
    Email    string `bson:"email"`
    CreateAt time.Time `bson:"create_at"`
}

func main() {
    session, err := mgo.Dial("localhost:27017")
    if err != nil {
        panic(err)
    }
    defer session.Close()

    collection := session.DB("test").C("users")

    user := User{
        Name:     "Alice",
        Age:      28,
        Email:    "alice@example.com",
        CreateAt: time.Now(),
    }
    err = collection.Insert(user)
    if err != nil {
        panic(err)
    }

    var result []User
    err = collection.Find(nil).Sort("-create_at").Limit(10).All(&result)
    if err != nil {
        panic(err)
    }
    fmt.Println(result)
}
Salin selepas log masuk

Antaranya, kami mula-mula mentakrifkan struktur Pengguna untuk menerangkan dokumen dalam pangkalan data. Dalam fungsi utama, kami mula-mula mencipta pengguna pembolehubah jenis Pengguna dan memulakan medannya. Kemudian, kami memasukkannya ke dalam koleksi pengguna melalui kaedah collection.Insert(). Akhir sekali, kami menggunakan kaedah collection.Find() untuk menanyakan semua dokumen dalam koleksi pengguna, menyusunnya dalam susunan terbalik mengikut medan create_at, hadkan bilangan hasil yang dikembalikan kepada 10, dan akhirnya mengeluarkan hasil pertanyaan.

4. Kemas kini dan padam dokumen

Dalam MongoDB, anda boleh mengemas kini dokumen melalui kaedah Kemas kini dan memadamkan dokumen melalui kaedah Alih Keluar. Kod berikut boleh mengemas kini umur dokumen bernama Alice kepada 30 dalam koleksi pengguna dan kemudian memadamkannya:

user := User{
    Name:     "Alice",
    Age:      30,
    Email:    "alice@example.com",
    CreateAt: time.Now(),
}
err = collection.Update(bson.M{"name": "Alice"}, user)
if err != nil {
    panic(err)
}

err = collection.Remove(bson.M{"name": "Alice"})
if err != nil {
    panic(err)
}
Salin selepas log masuk

Antaranya, bson.M ialah jenis dalam pakej mgo, digunakan untuk penerangan Dokumen dalam MongoDB . Dalam kaedah Kemas Kini dan Alih Keluar, kami boleh menggunakan bson.M untuk menentukan dokumen yang dikemas kini dan dipadamkan.

5 Ringkasan

Artikel ini memperkenalkan cara menggunakan MongoDB dalam bahasa Go. Kami mula-mula memasang MongoDB dan menggunakan pakej mgo untuk menyambung ke pangkalan data. Kemudian, kami menggunakan kaedah Sisipkan dan Cari bagi pakej mgo untuk memasukkan dan menanya dokumen dalam MongoDB. Akhir sekali, kami membincangkan cara menggunakan kaedah Kemas Kini dan Alih Keluar untuk mengemas kini dan memadam dokumen. Dengan mempelajari artikel ini, anda boleh menguasai kaedah asas menggunakan MongoDB dalam bahasa Go.

Atas ialah kandungan terperinci Menggunakan MongoDB dalam Go: Panduan Lengkap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan