Add reset to other load functions

This commit is contained in:
Nikita Tokarchuk
2019-05-24 14:48:58 +02:00
parent dad0a0598b
commit 61621c0a3a
2 changed files with 10 additions and 2 deletions
+6 -1
View File
@@ -4,6 +4,7 @@ import (
"reflect" "reflect"
"github.com/mainnika/mongox-go-driver/mongox" "github.com/mainnika/mongox-go-driver/mongox"
"github.com/mainnika/mongox-go-driver/mongox/base"
"github.com/mainnika/mongox-go-driver/mongox/errors" "github.com/mainnika/mongox-go-driver/mongox/errors"
"github.com/mainnika/mongox-go-driver/mongox/query" "github.com/mainnika/mongox-go-driver/mongox/query"
"go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo"
@@ -58,9 +59,13 @@ func LoadArray(db *mongox.Database, target interface{}, filters ...interface{})
} else { } else {
continue continue
} }
} else if err = result.Decode(targetSliceV.Index(i).Interface()); err != nil { } else {
elem := targetSliceV.Index(i).Interface()
base.Reset(elem)
if err = result.Decode(elem); err != nil {
continue continue
} }
}
i++ i++
} }
+3
View File
@@ -2,6 +2,7 @@ package common
import ( import (
"github.com/mainnika/mongox-go-driver/mongox" "github.com/mainnika/mongox-go-driver/mongox"
"github.com/mainnika/mongox-go-driver/mongox/base"
"github.com/mainnika/mongox-go-driver/mongox/errors" "github.com/mainnika/mongox-go-driver/mongox/errors"
"github.com/mainnika/mongox-go-driver/mongox/query" "github.com/mainnika/mongox-go-driver/mongox/query"
"go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo"
@@ -30,5 +31,7 @@ func LoadOne(db *mongox.Database, target interface{}, filters ...interface{}) er
return errors.NotFoundErrorf("can't find result: %s", result.Err()) return errors.NotFoundErrorf("can't find result: %s", result.Err())
} }
base.Reset(target)
return result.Decode(target) return result.Decode(target)
} }