MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana cara menggunakan tipe antarmuka sebagai model di mgo (Go)?

Anda tidak dapat menggunakan antarmuka dalam dokumen karena alasan yang Anda catat. Dekoder tidak memiliki informasi tentang jenis yang akan dibuat.

Salah satu cara untuk menangani ini adalah dengan mendefinisikan sebuah struct untuk menampung informasi tipe:

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

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

Implementasikan fungsi SetBSON pada tipe ini. Fungsi ini harus memecahkan kode tipe string, membuat nilai tipe yang benar berdasarkan string tersebut dan membatalkan marshal ke nilai tersebut.

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Data Musim Semi:Bidang unik dalam dokumen MongoDB

  2. Menggunakan MongoDB, bagaimana cara memperbarui sub-dokumen dari sub-array ketika posisi elemen tidak diketahui?

  3. replika Set mongo docker-compose

  4. Spark tidak menjalankan tugas

  5. Bagaimana mengatasi TypeError:jenis 'daftar' yang tidak dapat dihashable