1. 安装mongodb-go-driver

使用go get命令安装:

go get go.mongodb.org/mongo-driver/mongo
  1. 在goframe项目中使用mongodb-go-driver

在需要使用mongodb的地方,导入以下包:

import (
    "go.mongodb.org/mongo-driver/mongo"
    "go.mongodb.org/mongo-driver/mongo/options"
    "context"
)
  1. 连接mongodb
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
defer cancel()
client, err := mongo.Connect(ctx, options.Client().ApplyURI("mongodb://localhost:27017"))
if err != nil {
    log.Fatal(err)
}
defer func() {
    if err = client.Disconnect(ctx); err != nil {
        log.Fatal(err)
    }
}()
  1. 执行mongodb操作
collection := client.Database("mydb").Collection("mycollection")
result, err := collection.InsertOne(ctx, bson.M{"name": "test"})
if err != nil {
    log.Fatal(err)
}
id := result.InsertedID
  1. 完整示例
package main

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

func main() {
    ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
    defer cancel()
    client, err := mongo.Connect(ctx, options.Client().ApplyURI("mongodb://localhost:27017"))
    if err != nil {
        log.Fatal(err)
    }
    defer func() {
        if err = client.Disconnect(ctx); err != nil {
            log.Fatal(err)
        }
    }()
    collection := client.Database("mydb").Collection("mycollection")
    result, err := collection.InsertOne(ctx, bson.M{"name": "test"})
    if err != nil {
        log.Fatal(err)
    }
    id := result.InsertedID
    fmt.Println(id)
}
goframe怎么集成mongodb

原文地址: http://www.cveoy.top/t/topic/zAq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录