MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak wykorzystać typ interfejsu jako model w mgo (Go)?

Nie możesz używać interfejsu w dokumencie z podanego powodu. Dekoder nie ma informacji o typie do utworzenia.

Jednym ze sposobów poradzenia sobie z tym jest zdefiniowanie struktury do przechowywania informacji o typie:

type NodeWithType struct {
   Node Node `bson:"-"`
   Type string
}

type Workflow struct {
   CreatedAt time.Time
   StartedAt time.Time
   CreatedBy string
   Nodes []NodeWithType
}

Zaimplementuj funkcję SetBSON na tym typie. Ta funkcja powinna zdekodować łańcuch typu, utworzyć wartość właściwego typu na podstawie tego łańcucha i przenieść do tej wartości.

func (nt *NodeWithType) SetBSON(r bson.Raw) error {
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Błąd zapytania zagnieżdżonego wyboru Mongodb

  2. MongoDB ORM dla Pythona?

  3. Mongoose i unikalne pole

  4. Przekroczono limit dysku w OpenShift

  5. findAndModify - MongoError:wyjątek:należy określić usunięcie lub aktualizację