Dans Golang, interroger MongoDB est une tâche très importante. mgo est un pilote MongoDB très populaire qui fournit une API riche pour les opérations CRUD. Cet article explique comment utiliser mgo pour interroger MongoDB.
Installer mgo
Pour utiliser mgo, vous devez d'abord l'installer. Il peut être installé à l'aide de la commande go get. Ouvrez un terminal et exécutez la commande suivante :
go get gopkg.in/mgo.v2
Cela téléchargera mgo depuis le référentiel Github et l'ajoutera au fournisseur dans le Projet Golang dans le répertoire.
Importer le package mgo
Lorsque vous utilisez mgo dans le code, vous devez importer son package. Vous pouvez écrire le code suivant en haut du fichier pour importer le package mgo et créer un alias pour celui-ci.
import (
"gopkg.in/mgo.v2" "gopkg.in/mgo.v2/bson"
)
Interrogation de documents dans une collection
L'interrogation de MongoDB commence par l'interrogation d'un document de collection. À l'aide de la méthode Find() de mgo.Collection, vous pouvez interroger les documents de la collection. Voici quelques exemples de requêtes de base.
Si vous ne souhaitez ajouter aucun filtrage conditionnel, vous pouvez utiliser la méthode Find() pour tout renvoyer documents de la collection.
func getAllEmployees() ([]Employé, erreur) {
session := GetSession() defer session.Close() collection := session.DB("company").C("employees") var employees []Employee err := collection.Find(nil).All(&employees) return employees, err
}
Dans le code ci-dessus, la méthode session.DB() Utilisé pour ouvrir une base de données et sélectionner la collection sur laquelle opérer. La méthode Find() renvoie un curseur qui peut être utilisé pour récupérer tous les documents répondant aux critères. La méthode All() lit tous les documents dans la tranche spécifiée et renvoie une erreur.
Vous pouvez filtrer les documents renvoyés en passant un document conditionnel. Voici un exemple d'interrogation d'employés dont le salaire est supérieur à 1 000 :
func getEmployeesWithSalaryGreaterThan1000() ([]Employé, erreur) {
session := GetSession() defer session.Close() collection := session.DB("company").C("employees") var employees []Employee err := collection.Find(bson.M{"salary": bson.M{"$gt": 1000}}).All(&employees) return employees, err
}
# 🎜🎜# Dans le code ci-dessus, bson.M représente le document dans MongoDB. Le document de condition généré est {"salary": { "$gt": 1000 }
session := GetSession() defer session.Close() collection := session.DB("company").C("employees") var employees []Employee err := collection.Find(nil).Select(bson.M{"name": 1, "age": 1}).All(&employees) return employees, err
session := GetSession() defer session.Close() collection := session.DB("company").C("employees") var employees []Employee err := collection.Find(nil).Skip((page - 1) * limit).Limit(limit).All(&employees) return employees, err
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!