inital commit

This commit is contained in:
2024-12-12 15:55:37 +03:00
commit 13c18e116a
17 changed files with 858 additions and 0 deletions

58
insert.go Normal file
View File

@@ -0,0 +1,58 @@
package main
import (
"context"
"encoding/binary"
"fmt"
"log"
"time"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo"
)
func insertOne(ctx context.Context, col *mongo.Collection) {
ctx, span := FollowSpan(ctx, "insertOne")
defer span.End()
fmt.Println("Inserting 1 documents...")
result, err := col.InsertOne(ctx, book)
if err != nil {
log.Fatal(err)
}
fmt.Printf("One document inserted with id: %s\n", result.InsertedID)
fmt.Println("=============================")
}
func insertMany(ctx context.Context, col *mongo.Collection) {
ctx, span := FollowSpan(ctx, "insertMany")
defer span.End()
fmt.Println("Inserting 2 documents...")
inserts := make([]interface{}, 0, len(books))
for _, book := range books {
inserts = append(inserts, book)
}
result, err := col.InsertMany(ctx, inserts)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%d documents inserted with ids: %v\n", len(result.InsertedIDs), result.InsertedIDs)
// ObjectID описание
for _, v := range result.InsertedIDs {
id := [12]byte(v.(primitive.ObjectID))
byteTime := id[0:4]
byteRandomID := id[4:9]
byteInc := id[9:12]
fmt.Printf("Timestamp: %d\n", binary.BigEndian.Uint32(byteTime))
fmt.Printf("Timestamp to date: %v\n", time.Unix(int64(binary.BigEndian.Uint32(byteTime)), 0))
fmt.Printf("Random val per process and machine: %d\n", binary.BigEndian.Uint32(byteRandomID))
fmt.Printf("Inc counter: %d\n", binary.BigEndian.Uint16(byteInc))
fmt.Println("*******")
}
fmt.Println("=============================")
}