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

Bagaimana cara mengonversi bson ke json secara efektif dengan mongo-go-driver?

Jika Anda mengetahui struktur BSON Anda, Anda dapat membuat jenis kustom yang mengimplementasikan json.Marshaler dan json.Unmarshaler interface, dan menangani NaN sesuai keinginan. Contoh:

type maybeNaN struct{
    isNan  bool
    number float64
}

func (n maybeNaN) MarshalJSON() ([]byte, error) {
    if n.isNan {
        return []byte("null"), nil // Or whatever you want here
    }
    return json.Marshal(n.number)
}

func (n *maybeNan) UnmarshalJSON(p []byte) error {
    if string(p) == "NaN" {
        n.isNan = true
        return nil
    }
    return json.Unmarshal(p, &n.number)
}

type myStruct struct {
    someNumber maybeNaN `json:"someNumber" bson:"someNumber"`
    /* ... */
}

Jika Anda memiliki struktur BSON yang berubah-ubah, satu-satunya pilihan Anda adalah melintasi struktur tersebut, menggunakan refleksi, dan mengonversi setiap kemunculan NaN menjadi suatu tipe (mungkin tipe khusus seperti yang dijelaskan di atas)




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mengapa penggunaan ORM dengan NoSql (seperti MongoDB)

  2. Apa yang dilakukan opsi konfigurasi --bindip di mongodb?

  3. Mongodb $lookup di data musim semi mongo

  4. Periksa apakah database mongodb ada?

  5. Menggunakan $exists dalam ekspresi MongoDB