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
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) }
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)
Cette ligne de code utilise les conditions suivantes :
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)
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)
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!