在Go语言中,你可以使用官方的MongoDB驱动程序 "go.mongodb.org/mongo-driver/mongo"
来连接MongoDB并执行查询。以下是一个简单的示例代码,演示如何连接MongoDB并执行查询:
首先,确保你已经安装了MongoDB驱动程序:
go get go.mongodb.org/mongo-driver/mongo
然后,可以使用以下示例代码:
package main
import (
"context"
"fmt"
"log"
"time"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
)
func main() {
// 设置MongoDB连接选项
clientOptions := options.Client().ApplyURI("mongodb://localhost:27017")
// 建立MongoDB连接
client, err := mongo.Connect(context.TODO(), clientOptions)
if err != nil {
log.Fatal(err)
}
// 检查连接
err = client.Ping(context.TODO(), nil)
if err != nil {
log.Fatal(err)
}
fmt.Println("Connected to MongoDB!")
// 选择要查询的数据库和集合
collection := client.Database("your_database_name").Collection("your_collection_name")
// 构建查询条件
filter := bson.D{
{
"key", "value"}} // 替换为实际的查询条件
// 执行查询
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
// 执行查询操作
cursor, err := collection.Find(ctx, filter)
if err != nil {
log.Fatal(err)
}
// 遍历查询结果
defer cursor.Close(ctx)
for cursor.Next(ctx) {
var result bson.M
err := cursor.Decode(&result)
if err != nil {
log.Fatal(err)
}
fmt.Println(result)
}
// 检查遍历过程中是否发生错误
if err := cursor.Err(); err != nil {
log.Fatal(err)
}
// 关闭数据库连接
err = client.Disconnect(ctx)
if err != nil {
log.Fatal(err)
}
fmt.Println("Connection to MongoDB closed.")
}
在这个示例代码中,你需要替换以下部分:
"mongodb://localhost:27017"
:MongoDB的连接URI。"your_database_name"
:要查询的数据库名称。"your_collection_name"
:要查询的集合名称。bson.D{ {"key", "value"}}
:实际的查询条件。
请确保在代码中适当地处理错误,并在生产环境中使用更安全的配置方式来存储敏感信息。