From 2fccb814c300c29933d577ba9015b2c9566a38a8 Mon Sep 17 00:00:00 2001 From: George Suntres Date: Tue, 7 Apr 2026 19:06:54 -0400 Subject: [PATCH] Add BsonToStruct --- struct.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/struct.go b/struct.go index 0cc8cb0..5f08c3b 100644 --- a/struct.go +++ b/struct.go @@ -128,6 +128,24 @@ func StructToMapRecursive(obj any) any { } } +func BsonToStruct(m bson.M, o any) error { + b, err := bson.Marshal(m) + if err != nil { + log.Printf("Failed marshal %v", err) + + return err + } + + err = bson.Unmarshal(b, o) + if err != nil { + log.Printf("Failed to unmarshal %v", err) + + return err + } + + return nil +} + // MapToStruct will convert a map[string]any to a struct. func MapToStruct(m map[string]any, o any) error { b, err := bson.Marshal(m)