From e6a83d12e365e35625c6f57cc4f108d43acaed39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=98=99=E2=97=A6=20The=20Tablet=20=E2=9D=80=20GamerGirla?= =?UTF-8?q?ndCo=20=E2=97=A6=E2=9D=A7?= Date: Tue, 25 Mar 2025 16:11:31 -0400 Subject: [PATCH] ensure we set each document's Model on find --- model.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/model.go b/model.go index c804b39..13a7209 100644 --- a/model.go +++ b/model.go @@ -118,12 +118,16 @@ func (m *Model) Find(query interface{}, opts *options.FindOptionsBuilder) (*Quer if err == nil { idoc.setExists(true) } + qq.rawDoc = rawRes err = q.All(context.TODO(), &qq.doc) if err != nil { qq.reOrganize() err = nil } + for _, doc := range *idoc { + doc.setModel(*m) + } } return qq, err @@ -160,9 +164,6 @@ func (m *Model) FindOne(query interface{}, options *options.FindOneOptionsBuilde } qqn := ModelRegistry.new_(m.typeName) idoc, ok := qqn.(IDocument) - if ok { - idoc.setExists(true) - } qq := &Query{ collection: m.getColl(), @@ -177,6 +178,10 @@ func (m *Model) FindOne(query interface{}, options *options.FindOneOptionsBuilde qq.reOrganize() err = nil } + if ok { + idoc.setExists(true) + idoc.setModel(*m) + } idoc.setSelf(idoc) return qq, err }