sql >> データベース >  >> NoSQL >> MongoDB

mgo(Go)でモデルとしてインターフェースタイプを使用するにはどうすればよいですか?

    上記の理由により、ドキュメントでインターフェイスを使用することはできません。デコーダーには、作成するタイプに関する情報がありません。

    これを処理する1つの方法は、型情報を保持する構造体を定義することです。

    type NodeWithType struct {
       Node Node `bson:"-"`
       Type string
    }
    
    type Workflow struct {
       CreatedAt time.Time
       StartedAt time.Time
       CreatedBy string
       Nodes []NodeWithType
    }
    

    このタイプにSetBSON関数を実装します。この関数は、型文字列をデコードし、その文字列に基づいて正しい型の値を作成し、その値にアンマーシャリングする必要があります。

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


    1. C#ドライバーを使用してMongoDBで複数のドキュメントを更新およびアップサートする方法

    2. ClusterControlEnterpriseEditionへのアップグレード

    3. MongoDBはどういうわけかシングルコアに制限されていますか?

    4. MongoDBISODateのPandasDatetimeIndex