в котором создается новый объект структуры
далее созданный объект передается в функцию работы с монгой в которой
идет такая логика
func (object *Type) InsertToDB() error {
session := mongoSession.Copy()
defer session.Close()
c := session.DB("TestBase").C("TestCollection")
err := c.Insert(object)
if err != nil {
....
}
return err
}
почему то Insert сваливается в функцию mgo
// Close terminates the session. It's a runtime error to use a session
// after it has been closed.
func (s *Session) Close() {
s.m.Lock()
if s.cluster_ != nil {
debugf("Closing session %p", s)
s.unsetSocket()
s.cluster_.Release()
s.cluster_ = nil
}
s.m.Unlock()
}
но я же копирую сессию(((
что ему не катит(?
там пул сессий. не надо копировать и закрывать сессии. просто клонируй через Db.Clone
Обсуждают сегодня