Maison  >  Article  >  développement back-end  >  Utiliser MongoDB dans Go : un guide complet

Utiliser MongoDB dans Go : un guide complet

王林
王林original
2023-06-17 18:14:544343parcourir

MongoDB est une base de données NoSQL open source hautes performances, basée sur des documents, largement utilisée dans les applications Web, le Big Data et le cloud computing. Le langage Go est un langage de programmation rapide, doté d'une grande efficacité de développement et d'une forte maintenabilité du code. Cet article vous donnera une introduction complète à l'utilisation de MongoDB en langage Go.

1. Installez MongoDB

Avant d'utiliser MongoDB, vous devez installer MongoDB sur votre système. Sous les systèmes Linux, vous pouvez l'installer via la commande suivante :

sudo apt-get update
sudo apt-get install mongodb
sudo systemctl start mongodb

Sous les systèmes Windows, vous pouvez vous rendre sur le site officiel de MongoDB pour télécharger la version correspondante du package d'installation et suivre les instructions pour l'installer. .

2. Connectez-vous à MongoDB

En langage Go, l'utilisation de MongoDB nécessite l'installation du package tiers mgo. Il peut être installé via la commande suivante :

go get gopkg.in/mgo.v2

Ensuite, nous pouvons écrire le code suivant pour nous connecter à 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)
}

Ce code se connectera à la base de données de test dans MongoDB et renvoyer la collecte aux utilisateurs. Parmi eux, session est une variable de type mgo.Session, représentant la connexion entre le client et MongoDB. Le mot-clé defer garantira que session.Close() est exécuté avant la fin du programme, c'est-à-dire que la connexion est fermée. Enfin, nous générons la valeur de la collection via la fonction fmt.Println() pour vérifier si la connexion à la base de données réussit.

3. Insertion et interrogation de documents

Dans MongoDB, un document est l'unité de base de données, semblable à une ligne dans une base de données relationnelle. Le langage Go peut insérer et interroger des documents via le package mgo. Le code suivant peut insérer un document dans la collection des utilisateurs dans 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)
}

Parmi eux, nous définissons d'abord une structure Utilisateur pour décrire le document dans la base de données. Dans la fonction principale, nous créons d’abord une variable user de type User et initialisons ses champs. Ensuite, nous l'insérons dans la collection des utilisateurs via la méthode collection.Insert(). Enfin, nous avons utilisé la méthode collection.Find() pour interroger tous les documents de la collection des utilisateurs, les avons triés dans l'ordre inverse en fonction du champ create_at, limité le nombre de résultats renvoyés à 10 et enfin généré les résultats de la requête.

4. Mettre à jour et supprimer des documents

Dans MongoDB, vous pouvez mettre à jour des documents via la méthode Update et supprimer des documents via la méthode Remove. Le code suivant peut mettre à jour l'âge du document nommé Alice à 30 dans la collection des utilisateurs puis le supprimer :

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)
}

Parmi eux, bson.M est un type dans le package mgo, utilisant Used pour décrire documents dans MongoDB. Dans les méthodes Update et Remove, nous pouvons utiliser bson.M pour spécifier les documents mis à jour et supprimés.

5. Résumé

Cet article présente comment utiliser MongoDB en langage Go. Nous installons d'abord MongoDB et utilisons le package mgo pour nous connecter à la base de données. Ensuite, nous utilisons les méthodes Insert et Find du package mgo pour insérer et interroger des documents dans MongoDB. Enfin, nous avons expliqué comment utiliser les méthodes Update et Remove pour mettre à jour et supprimer des documents. En étudiant cet article, vous pourrez maîtriser les méthodes de base d'utilisation de MongoDB en langage Go.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn