Add UpdateSet, Relaxed in client, Fix tests

This commit is contained in:
George Suntres
2026-04-22 10:22:23 -04:00
parent 45f9ac558f
commit 188c5a1be1
9 changed files with 163 additions and 31 deletions

View File

@@ -1,6 +1,10 @@
package mongo
import "log"
import (
"log"
"go.mongodb.org/mongo-driver/v2/bson"
)
type Query struct {
Filter map[string]any `json:"filter"`
@@ -17,12 +21,27 @@ func makeFilter(name string, value any) *Filter {
var v string
log.Printf("TYPE %T", value)
switch value.(type) {
case string:
op = "eq"
v = value.(string)
case bson.M:
vMap := value.(bson.M)
log.Printf("GEO its map[string]any %v", vMap)
for kk, vv := range vMap {
op = kk
v = vv.(string)
break
}
case map[string]any:
vMap := value.(map[string]any)
log.Printf("GEO its bson.M %v", vMap)
for kk, vv := range vMap {
op = kk
v = vv.(string)
@@ -40,6 +59,8 @@ func makeFilter(name string, value any) *Filter {
Value: v,
}
log.Printf("FILTER -> %#v", o)
return o
}
@@ -48,7 +69,7 @@ func Mongofy(q *Query) map[string]any {
conditions := make([]map[string]interface{}, 0)
logic := "and"
log.Printf("GEO q.Filter %#v", q.Filter)
for k, v := range q.Filter {
if k == "_logic" {
logic = v.(string)