Add UpdateSet, Relaxed in client, Fix tests
This commit is contained in:
25
filter.go
25
filter.go
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user