From 3152823484c9622dbcdc7b57510337620e08f380 Mon Sep 17 00:00:00 2001 From: chenlinzhneg Date: Sun, 27 Oct 2019 10:25:34 +0800 Subject: [PATCH 1/2] fix(index): index parser --- minquery.go | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/minquery.go b/minquery.go index 651932f..0f90262 100644 --- a/minquery.go +++ b/minquery.go @@ -4,6 +4,7 @@ package minquery import ( "errors" + "strings" "github.com/globalsign/mgo" "github.com/globalsign/mgo/bson" @@ -203,7 +204,24 @@ func (mq *minQuery) All(result interface{}, cursorFields ...string) (cursor stri } cursorData := make(bson.D, len(cursorFields)) for i, cf := range cursorFields { - cursorData[i] = bson.DocElem{Name: cf, Value: doc[cf]} + cfs := strings.Split(cf, ".") + if len(cfs) <= 1 { + cursorData[i] = bson.DocElem{Name: cf, Value: doc[cf]} + continue + } + leafM := doc + var ok bool + for j:=0; j Date: Wed, 6 Nov 2019 21:56:24 +0800 Subject: [PATCH 2/2] fix(index): array index --- .gitignore | 1 + minquery.go | 50 +++++++++------ minquery_test.go | 158 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 190 insertions(+), 19 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..723ef36 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea \ No newline at end of file diff --git a/minquery.go b/minquery.go index 0f90262..9af955b 100644 --- a/minquery.go +++ b/minquery.go @@ -4,6 +4,7 @@ package minquery import ( "errors" + "strconv" "strings" "github.com/globalsign/mgo" @@ -203,25 +204,9 @@ func (mq *minQuery) All(result interface{}, cursorFields ...string) (cursor stri return } cursorData := make(bson.D, len(cursorFields)) - for i, cf := range cursorFields { - cfs := strings.Split(cf, ".") - if len(cfs) <= 1 { - cursorData[i] = bson.DocElem{Name: cf, Value: doc[cf]} - continue - } - leafM := doc - var ok bool - for j:=0; j