Maison > développement back-end > Golang > Comment interroger la base de données MongoDB dans Golang

Comment interroger la base de données MongoDB dans Golang

PHPz
Libérer: 2023-04-13 10:05:24
original
935 Les gens l'ont consulté

Ces dernières années, Golang a été de plus en plus utilisé dans le domaine du développement. En tant que base de données de documents très populaire, MongoDB est très pratique pour interroger, ajouter, mettre à jour et supprimer des données rapidement et facilement via Golang sans avoir besoin d'instructions SQL lourdes. Cet article explique comment utiliser Golang pour interroger la base de données MongoDB.

1. Installez MongoDB

Avant d'utiliser MongoDB, vous devez d'abord installer MongoDB. Téléchargez-le et installez-le depuis le site officiel. Après une installation réussie, vous pouvez démarrer le service MongoDB localement. Pour plus de détails, veuillez vous référer à la documentation officielle.

2. Installez le pilote MongoDB

Golang ne fournit pas officiellement de pilote MongoDB Vous pouvez utiliser la bibliothèque tierce officiellement recommandée "mongo-go-driver". Exécutez la commande suivante dans le terminal pour installer :

go get go.mongodb.org/mongo-driver/mongogo get go.mongodb.org/mongo-driver/mongo

三、连接 MongoDB

在使用 Golang 操作 MongoDB 之前,需要先建立一个 MongoDB 客户端连接。可以参考以下示例代码:

import (
  "context"
  "fmt"
  "go.mongodb.org/mongo-driver/mongo"
  "go.mongodb.org/mongo-driver/mongo/options"
)

func main() {
  // 配置客户端
  clientOptions := options.Client().ApplyURI("mongodb://localhost:27017")

  // 连接 MongoDB
  client, err := mongo.Connect(context.Background(), clientOptions)
  if err != nil {
    fmt.Println("MongoDB Connect Error:", err)
    return
  }

  // 关闭连接
  defer func() {
    if err = client.Disconnect(context.Background()); err != nil {
      panic(err)
    }
  }()
}
Copier après la connexion

四、查询 MongoDB 数据

连接成功后,就可以开始查询 MongoDB 数据库中的数据。

  1. 查询单个文档
collection := client.Database("mydb").Collection("mycollection")
filter := bson.M{"name": "张三"}

var result bson.M
if err = collection.FindOne(context.Background(), filter).Decode(&result); err != nil {
  return
}
Copier après la connexion

通过 FindOne() 方法查询指定条件的单个文档,参数 filter 为查询条件,本例中查询条件为 {“name”:“张三”}。执行结果会将文档结果保存在变量 result 中,并且返回错误信息。

  1. 查询多个文档
collection := client.Database("mydb").Collection("mycollection")
filter := bson.M{"age": bson.M{"$gte":18}}

cursor, err := collection.Find(context.Background(), filter)
if err != nil {
  return
}

var results []bson.M
if err = cursor.All(context.Background(), &results); err != nil {
  return
}
Copier après la connexion

通过 Find() 方法查询指定条件的多个文档,参数 filter 为查询条件,本例中查询条件为 {“age”: {“$gte”:18}},表示查询年龄大于等于 18 岁的所有文档。执行结果会将所有的文档结果保存在变量 results

3 Connectez-vous à MongoDB
  1. Avant d'utiliser Golang pour faire fonctionner MongoDB, vous devez. pour l'établir d'abord Une connexion client MongoDB. Vous pouvez vous référer à l'exemple de code suivant :
  2. collection := client.Database("mydb").Collection("mycollection")
    filter := bson.M{"name": "张三"}
    
    var result bson.M
    if err = collection.FindOne(context.Background(), filter).Decode(&result); err != nil {
      return
    }
    
    age := result["age"].(int)
    Copier après la connexion
4. Interroger les données MongoDB

Une fois la connexion établie, vous pouvez commencer à interroger les données dans la base de données MongoDB.

    Interroger un seul document🎜🎜rrreee🎜Interroger un seul document avec des conditions spécifiées via la méthode FindOne(). Le paramètre filter est la condition de requête. Dans cet exemple, la condition de requête est. {"name" :"Zhang San"}. Le résultat de l'exécution enregistrera le résultat du document dans la variable result et renverra un message d'erreur. 🎜
      🎜Interroger plusieurs documents🎜🎜rrreee🎜Interroger plusieurs documents avec des conditions spécifiées via la méthode Find(). Le paramètre filter est la condition de requête. la condition de requête est {"age": {"$gte":18}} signifie interroger tous les documents dont l'âge est supérieur ou égal à 18 ans. Le résultat de l'exécution enregistrera tous les résultats du document dans la variable results et renverra un objet curseur. 🎜🎜🎜Récupérer un seul document🎜🎜rrreee🎜Le résultat de la requête est de type bson.M Si vous souhaitez récupérer un certain champ, vous devez d'abord le convertir dans son type correspondant avant utilisation. 🎜🎜L'exemple de code ci-dessus ne présente que brièvement comment utiliser Golang pour interroger la base de données MongoDB. Il existe de nombreuses façons d'utiliser MongoDB. Vous pouvez consulter la documentation officielle de MongoDB pour plus de détails. Dans le même temps, Golang s'appuie sur ses capacités de traitement simultané efficaces. Les étudiants qui aiment Golang peuvent essayer d'utiliser Golang et MongoDB pour créer un système de base de données distribuée hautes performances. 🎜

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