package main
import (
"context"
"fmt"
"log"
"time"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
)
type Person struct {
ID string `bson:"_id,omitempty"`
FirstName string `bson:"first_name"`
LastName string `bson:"last_name"`
Age int `bson:"age"`
CreatedAt time.Time `bson:"created_at"`
}
func main() {
clientOptions := options.Client().ApplyURI("mongodb://localhost:27017")
client, err := mongo.Connect(context.TODO(), clientOptions)
if err != nil {
log.Fatal(err)
}
err = client.Ping(context.TODO(), nil)
if err != nil {
log.Fatal(err)
}
fmt.Println("Connected to MongoDB!")
collection := client.Database("testdb").Collection("people")
person := Person{
FirstName: "John",
LastName: "Doe",
Age: 30,
CreatedAt: time.Now(),
}
insertResult, err := collection.InsertOne(context.TODO(), person)
if err != nil {
log.Fatal(err)
}
fmt.Println("Inserted a single document: ", insertResult.InsertedID)
}