Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk membuat pertanyaan pangkalan data MongoDB di Golang
Dalam beberapa tahun kebelakangan ini, Golang semakin banyak digunakan dalam bidang pembangunan. Sebagai pangkalan data dokumen yang sangat popular, MongoDB sangat mudah untuk membuat pertanyaan, menambah, mengemas kini dan memadam data dengan cepat dan mudah melalui Golang tanpa memerlukan pernyataan SQL yang menyusahkan. Artikel ini akan memperkenalkan cara menggunakan Golang untuk menanyakan pangkalan data MongoDB.
1. Pasang MongoDB
Sebelum menggunakan MongoDB, anda perlu memasang MongoDB terlebih dahulu. Muat turun dan pasangkannya dari tapak web rasmi Selepas pemasangan berjaya, anda boleh memulakan perkhidmatan MongoDB secara tempatan. Untuk butiran, sila rujuk kepada dokumentasi rasmi.
2. Pasang pemacu MongoDB
Golang tidak menyediakan pemacu MongoDB secara rasmi Anda boleh menggunakan pustaka pihak ketiga "mongo-go-driver" secara rasmi. Jalankan arahan berikut dalam terminal untuk memasang:
go get go.mongodb.org/mongo-driver/mongo
3 Sambung ke MongoDB
Sebelum menggunakan Golang untuk mengendalikan MongoDB, anda perlu mewujudkan klien MongoDB. sambungan. Anda boleh merujuk kepada kod contoh berikut:
import ( "context" "fmt" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" ) func main() { // 配置客户端 clientOptions := options.Client().ApplyURI("mongodb://localhost:27017") // 连接 MongoDB client, err := mongo.Connect(context.Background(), clientOptions) if err != nil { fmt.Println("MongoDB Connect Error:", err) return } // 关闭连接 defer func() { if err = client.Disconnect(context.Background()); err != nil { panic(err) } }() }
4. Kueri data MongoDB
Selepas sambungan berjaya, anda boleh mula menanyakan data dalam pangkalan data MongoDB.
collection := client.Database("mydb").Collection("mycollection") filter := bson.M{"name": "张三"} var result bson.M if err = collection.FindOne(context.Background(), filter).Decode(&result); err != nil { return }
Pertanyakan satu dokumen dengan syarat tertentu melalui kaedah FindOne() Parameter filter
ialah syarat pertanyaan contoh ini, syarat pertanyaan ialah {“name”:“张三”}
. Hasil pelaksanaan akan menyimpan hasil dokumen dalam pembolehubah result
dan mengembalikan mesej ralat.
collection := client.Database("mydb").Collection("mycollection") filter := bson.M{"age": bson.M{"$gte":18}} cursor, err := collection.Find(context.Background(), filter) if err != nil { return } var results []bson.M if err = cursor.All(context.Background(), &results); err != nil { return }
Pertanyakan berbilang dokumen dengan syarat yang ditentukan melalui kaedah Cari() Parameter filter
ialah syarat pertanyaan , pertanyaan Syaratnya ialah {“age”: {“$gte”:18}}
, yang bermaksud menanyakan semua dokumen yang umurnya melebihi atau sama dengan 18 tahun. Hasil pelaksanaan akan menyimpan semua hasil dokumen dalam pembolehubah results
dan mengembalikan objek kursor.
collection := client.Database("mydb").Collection("mycollection") filter := bson.M{"name": "张三"} var result bson.M if err = collection.FindOne(context.Background(), filter).Decode(&result); err != nil { return } age := result["age"].(int)
Hasil pertanyaan adalah jenis bson.M Jika anda ingin mendapatkan medan tertentu di dalamnya, anda harus mula-mula tukarkannya kepada Gunakan jenis yang sepadan.
Kod contoh di atas hanya memperkenalkan cara menggunakan Golang untuk menanyakan pangkalan data MongoDB Terdapat banyak cara untuk menggunakan MongoDB Anda boleh menyemak dokumentasi MongoDB untuk butiran lanjut. Pada masa yang sama, Golang berdasarkan keupayaan pemprosesan serentak yang cekap Pelajar yang suka Golang boleh mencuba menggunakan Golang dan MongoDB untuk membina sistem pangkalan data teragih berprestasi tinggi.
Atas ialah kandungan terperinci Bagaimana untuk membuat pertanyaan pangkalan data MongoDB di Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!