sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur använder man gränssnittstyp som modell i mgo (Go)?

Du kan inte använda ett gränssnitt i ett dokument av den anledning som du angav. Avkodaren har ingen information om vilken typ som ska skapas.

Ett sätt att hantera detta är att definiera en struktur som innehåller typinformationen:

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

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

Implementera SetBSON-funktionen på denna typ. Den här funktionen ska avkoda typsträngen, skapa ett värde av rätt typ baserat på den strängen och avmarkera till det värdet.

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


  1. Hur man ansluter till Redis-instans (memorystore) från Googles standardappmotor (Python 3.7)

  2. 4 sätt att uppdatera ett dokument i MongoDB

  3. bryggtjänster. Kan inte starta tjänsten. Get Bootstrap misslyckades:5:Input/output-fel

  4. Är det bästa Java-praxis att lagra datum så länge i din databas?