39 lines
656 B
Go
39 lines
656 B
Go
package robot
|
|
|
|
import (
|
|
"context"
|
|
"log"
|
|
"sync"
|
|
|
|
"go.mongodb.org/mongo-driver/mongo"
|
|
"go.mongodb.org/mongo-driver/mongo/options"
|
|
)
|
|
|
|
var dbOnce sync.Once
|
|
var mgoCli *mongo.Client
|
|
var mgoDb *mongo.Database
|
|
|
|
func InitDb() {
|
|
dbOnce.Do(func() {
|
|
var err error
|
|
// Set client options
|
|
clientOptions := options.Client().ApplyURI("mongodb://admin:123456@10.0.0.9:27018")
|
|
|
|
// Connect to MongoDB
|
|
mgoCli, err = mongo.Connect(context.TODO(), clientOptions)
|
|
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
// Check the connection
|
|
err = mgoCli.Ping(context.TODO(), nil)
|
|
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
mgoDb = mgoCli.Database("dreamfactory")
|
|
})
|
|
}
|