Maison > Article > développement back-end > Comment interroger MongoDB en utilisant Golang
Avec l'avènement de l'ère du big data, les bases de données NoSQL sont devenues l'un des centres d'intérêt. MongoDB est l'un des meilleurs, c'est une base de données de documents NoSQL. En tant que langage de programmation efficace, Golang est également accepté par de plus en plus de personnes. Par conséquent, interroger MongoDB avec Golang est devenu une compétence très pratique.
Caractéristiques de MongoDB
MongoDB est une base de données de documents NoSQL open source à haute disponibilité écrite en langage C++. Ses fonctionnalités sont les suivantes :
1. Hautes performances : MongoDB prend en charge une concurrence élevée et peut facilement gérer la lecture et l'écriture à fort trafic. opérations.
Les caractéristiques ci-dessus font de MongoDB une base de données NoSQL à recommander. Mais pour les programmeurs qui utilisent le langage Golang, comment utiliser Golang pour interroger MongoDB ?
Golang exploite MongoDB
Il existe deux façons d'utiliser golang pour interagir avec MongoDB : utiliser le pilote mongo-go-driver officiellement fourni par MongoDB dans golang ; Cet article adoptera la première approche.
installation de mongo-go-driver
allez chercher go.mongodb.org/mongo-driver
go get go.mongodb.org/mongo-driver
导入包
import "go.mongodb.org/mongo-driver/mongo"
import "go.mongodb.org/mongo-driver/mongo "
Établir une connexion
func main() { // 设置客户端连接配置 clientOptions := options.Client().ApplyURI("mongodb://localhost:27017") // 连接到MongoDB client, err := mongo.Connect(context.Background(), clientOptions) if err != nil { log.Fatalf("Could not connect to MongoDB: %v", err) } // 断开连接 defer func() { if err = client.Disconnect(context.Background()); err != nil { panic(err) } }() }Interroger des données
// 查询单条数据 func findOne() { collection := client.Database("test").Collection("users") filter := bson.M{"name": "John Doe"} var result bson.M if err := collection.FindOne(context.Background(), filter).Decode(&result); err != nil { log.Fatalf("Failed to find document: %v", err) } fmt.Println(result) } // 查询多条数据 func find() { collection := client.Database("test").Collection("users") filter := bson.M{"age": bson.M{"$gt": 18}} cur, err := collection.Find(context.Background(), filter) if err != nil { log.Fatalf("Failed to find documents: %v", err) } defer cur.Close(context.Background()) for cur.Next(context.Background()) { var result bson.M if err := cur.Decode(&result); err != nil { log.Fatalf("Failed to decode document: %v", err) } fmt.Println(result) } }Insérer des données
func insert() { collection := client.Database("test").Collection("users") user := bson.M{"name": "Alice", "age": 20, "email": "alice@example.com"} if _, err := collection.InsertOne(context.Background(), user); err != nil { log.Fatalf("Failed to insert document: %v", err) } }Mettre à jour les données
func update() { collection := client.Database("test").Collection("users") filter := bson.M{"name": "John Doe"} update := bson.M{"$set": bson.M{"age": 28}} if _, err := collection.UpdateOne(context.Background(), filter, update); err != nil { log.Fatalf("Failed to update document: %v", err) } }Supprimer des données
func delete() { collection := client.Database("test").Collection("users") filter := bson.M{"name": "Alice"} if _, err := collection.DeleteOne(context.Background(), filter); err != nil { log.Fatalf("Failed to delete document: %v", err) } }Voici quelques opérations de base pour l'interaction des données entre golang et MongoDB. Conclusion🎜🎜Cet article explique comment utiliser Golang pour interroger MongoDB. Il utilise le pilote officiel Mongo pour le langage Go pour traiter MongoDB et implémente les opérations de base pour MongoDB, telles que la requête, l'insertion, la mise à jour et la suppression. Grâce à la série d'opérations ci-dessus, cela sera d'une grande aide pour la gestion des données de la base de données et la réalisation des exigences connexes ultérieures. 🎜
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!