goframe怎么集成mongodb
- 安装mongodb-go-driver
使用go get命令安装:
go get go.mongodb.org/mongo-driver/mongo
- 在goframe项目中使用mongodb-go-driver
在需要使用mongodb的地方,导入以下包:
import (
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
"context"
)
- 连接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)
}
}()
- 执行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
- 完整示例
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)
}
原文地址: http://www.cveoy.top/t/topic/zAq 著作权归作者所有。请勿转载和采集!