基于 Mongo-Go-Driver 的操作 demo 代码

  1. Mongo-Go-Driver: Mongo-Go-Driver 是官方提供的Go语言驱动程序,用于连接和操作MongoDB数据库。它提供了直接的MongoDB API访问,支持丰富的查询和操作功能。虽然它不是严格意义上的ORM框架,但您可以使用Mongo-Go-Driver来进行MongoDB的数据操作,并结合Gin框架进行开发。

以下是使用 Mongo-Go-Driver 的增,删,改,查 代码

package main

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

type User struct {
    Name string `bson:"name"`
    Age  int    `bson:"age"`
}

func main() {
    // 建立连接
    client, err := mongo.Connect(context.Background(), options.Client().ApplyURI("mongodb://localhost:27017"))
    if err != nil {
        log.Fatal(err)
    }
    defer func() {
        if err := client.Disconnect(context.Background()); err != nil {
            log.Fatal(err)
        }
    }()

    // 选择数据库和集合
    collection := client.Database("mydb").Collection("mycollection")

    // 插入文档
    user := User{
        Name: "John",
        Age:  30,
    }
    _, err = collection.InsertOne(context.Background(), user)
    if err != nil {
        log.Fatal(err)
    }

    // 查询文档
    filter := bson.M{"name": "John"}
    var result User
    err = collection.FindOne(context.Background(), filter).Decode(&result)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(result)

    // 更新文档
    update := bson.M{"$set": bson.M{"age": 35}}
    _, err = collection.UpdateOne(context.Background(), filter, update)
    if err != nil {
        log.Fatal(err)
    }

    // 删除文档
    _, err = collection.DeleteOne(context.Background(), filter)
    if err != nil {
        log.Fatal(err)
    }
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!