Go-Zero 框架使用 MongoDB,数据采集入库如此简单
package main
import (
"flag"
"fmt"
"github.com/tal-tech/go-zero/core/logx"
"github.com/tal-tech/go-zero/core/stores/mongodb"
"go.mongodb.org/mongo-driver/bson"
)
type Article struct {
Title string `bson:"title"`
Content string `bson:"content"`
}
func main() {
var (
host = flag.String("host", "localhost:27017", "mongodb host")
username = flag.String("username", "", "mongodb username")
password = flag.String("password", "", "mongodb password")
dbname = flag.String("dbname", "test", "mongodb database name")
)
flag.Parse()
store := mongodb.MustNewStore(*host, *username, *password, *dbname)
collectionName := "articles"
// 插入数据
article := Article{
Title: "Go-Zero 教程",
Content: "Go-Zero 是一个轻量级的高性能微服务框架,用 Go 语言编写。",
}
_, err := store.InsertOne(collectionName, article)
if err != nil {
logx.Errorf("插入数据失败: %v", err)
return
}
fmt.Println("数据插入成功")
// 查询数据
var result Article
err = store.FindOne(collectionName, bson.M{"title": "Go-Zero 教程"}, &result)
if err != nil {
logx.Errorf("查询数据失败: %v", err)
return
}
fmt.Printf("查询到的数据: %+v\n", result)
}
这段代码演示了如何使用Go-Zero框架中的mongodb.Store来进行数据的插入和查询操作。首先,它定义了一个Article结构体,用于表示文章数据。然后,它创建了一个mongodb.Store实例,并使用InsertOne方法插入了一条文章数据。接着,它使用FindOne方法查询了一条文章数据。在插入和查询过程中,如果有错误发生,它会记录错误日志,并且返回。这个例子简洁地展示了如何使用Go-Zero框架进行MongoDB数据操作。
评论已关闭