Documentation ¶
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Open ¶
func Open(host string, port int, username, password, name string, maxPoolSize uint64, connectTimeout, socketTimeout, queryTimeout time.Duration) error
Open initializes a MongoDB database.
Example ¶
// Database connection // ------------------- err := Open("host", 10, "username", "password", "name", uint64(50), 10*time.Second, 10*time.Second, 10*time.Second) if err != nil { log.Fatalf("Database connection failed: %v\n", err) } defer func() { if err = DBInstance.Client.Disconnect(DBInstance.Context); err != nil { log.Fatalf("Database disconnection failed: %v\n", err) } }() // Usage // ----- type User struct { ID primitive.ObjectID `json:"id" bson:"_id,omitempty"` Lastname string `json:"lastname"` Firstname string `json:"firstname"` Email string `json:"email"` Password string `json:"password,omitempty"` CreatedAt time.Time `json:"createdAt" bson:"created_at"` } users := make([]User, 0) col := DBInstance.Database.Collection("users") ctx, cancel := context.WithTimeout(context.Background(), DBInstance.QueryTimeout) options := options.Find().SetSort(bson.D{primitive.E{Key: "created_at", Value: -1}}) filter := bson.D{} cur, err := col.Find(ctx, filter, options) if err != nil { cancel() } defer cur.Close(context.Background()) for cur.Next(context.Background()) { var user User err := cur.Decode(&user) if err != nil { continue } user.Password = "" users = append(users, user) } cancel() fmt.Printf("Users: %v\n", users)
Output:
Types ¶
Click to show internal directories.
Click to hide internal directories.