From 45f9ac558f163db9ba51b99a03f33dff7ab1822d Mon Sep 17 00:00:00 2001 From: George Suntres Date: Tue, 21 Apr 2026 10:25:01 -0400 Subject: [PATCH] Add DropDatabase --- filter.go | 1 - main.go | 18 ++++++++++++++++-- replace.go | 2 +- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/filter.go b/filter.go index 949f323..c076426 100644 --- a/filter.go +++ b/filter.go @@ -13,7 +13,6 @@ type Filter struct { } func makeFilter(name string, value any) *Filter { - log.Printf("FILTER: %#v", value) var op string var v string diff --git a/main.go b/main.go index 15013b9..6a0442e 100644 --- a/main.go +++ b/main.go @@ -67,8 +67,6 @@ type CollectionDefinition struct { Discriminator *Discriminator } -// func (cd *CollectionDefinition) GetSchema(name string) - // MongoClient type MongoClient struct { // Client the actual connected instance of mongo client. @@ -118,6 +116,22 @@ func (c *MongoClient) AddDefinition(data map[string]any) { } } +func (c *MongoClient) DropDatabase_DANGER(database string) bool { + log.Printf("DANGER attempt to drop database: %s", database) + + db := c.Client.Database(database) + + if err := db.Drop(context.Background()); err != nil { + log.Printf("Failed to drop database: %v", err) + + return false + } + + log.Printf("Database %s deleted", database) + + return true +} + func (c *MongoClient) GetCollection(database, name string) *mongo.Collection { if c.Debug { log.Printf("Using collection: %s.%s", database, name) diff --git a/replace.go b/replace.go index 1469f5e..a11ef35 100644 --- a/replace.go +++ b/replace.go @@ -23,7 +23,7 @@ func (c *MongoClient) Replace(ctx context.Context, database, name string, id str if err := c.DiscriminatorCheckAndApplyToData(ctx, name, data); err != nil { return nil, err } - + updateResult, err := collection.ReplaceOne(ctx, filter, data) if err != nil { return nil, err