Maison > développement back-end > Golang > le corps du texte

Comment utiliser MongoDB pour les requêtes de données dans Go

PHPz
Libérer: 2023-04-07 17:50:09
original
1510 Les gens l'ont consulté

Go est un langage de programmation open source largement utilisé par de nombreux développeurs. Go excelle également dans l'écriture de requêtes efficaces et concises lors de l'interaction avec la base de données MongoDB. Cet article explique comment utiliser MongoDB pour les requêtes dans Go.

Tout d'abord, nous devons installer le pilote Go-MongoDB "mgo", qui peut être installé à l'aide de la commande suivante :

go get gopkg.in/mgo.v2
Copier après la connexion

Après une installation réussie, nous pouvons commencer à nous connecter à la base de données MongoDB et effectuer des opérations de requête. Voici le code de requête de base de MongoDB :

package main

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

type Person struct {
    Name  string
    Phone string
}

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

    c := session.DB("test").C("people")
    result := Person{}
    err = c.Find(bson.M{"name": "John"}).One(&result)
    if err != nil {
        panic(err)
    }

    fmt.Println("Phone:", result.Phone)
}
Copier après la connexion

Dans cet exemple, nous créons d'abord une structure "Personne" pour représenter les attributs du document à interroger. Nous utilisons la méthode "mgo.Dial" pour nous connecter à la base de données MongoDB (dans ce cas le serveur sur localhost) et créer une instance de session. Nous ouvrons ensuite la collection « People » et effectuons une requête en utilisant la méthode « c.Find ». Dans ce cas, nous recherchons des documents portant le nom "John" et s'ils sont trouvés, nous stockons le résultat dans la variable "result" et imprimons le numéro de téléphone.

En plus des requêtes de base, vous pouvez également utiliser certaines méthodes et opérateurs conditionnels pour filtrer et trier les requêtes. Voici un exemple d'un ensemble de méthodes courantes et d'opérateurs conditionnels :

err = c.Find(bson.M{"age": bson.M{"$lt": 30}}).Sort("-age").Limit(10).All(&results)
Copier après la connexion

Cette ligne de code utilise les conditions suivantes :

  • L'opérateur conditionnel "$lt" signifie inférieur à
  • "-age" signifie trier par âge dans ordre inverse
  • "Limite" Indique que seuls les 10 premiers résultats seront retournés

Vous pouvez également utiliser la méthode "Select" pour sélectionner les champs à retourner :

err = c.Find(nil).Select(bson.M{"name": 1}).All(&results)
Copier après la connexion

Dans cet exemple, on sélectionne uniquement le "nom " champ. Si nous devons exclure un champ spécifique, nous pouvons définir ce champ sur 0.

err = c.Find(nil).Select(bson.M{"name": 1, "age": 0}).All(&results)
Copier après la connexion

Ce qui précède représente les connaissances de base de l'utilisation de MongoDB pour les requêtes dans Go. Bien entendu, seule une partie est abordée ici. Si vous souhaitez en savoir plus sur les requêtes MongoDB et le pilote Go-MongoDB, veuillez vous référer aux documents pertinents pour en savoir plus.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal