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

mongodb-go-driver/bson struct ke bson.Document encoding

Sayangnya saat ini tidak didukung.

Anda dapat membuat fungsi pembantu yang "mengubah" nilai struct menjadi bson.Document seperti ini:

func toDoc(v interface{}) (doc *bson.Document, err error) {
    data, err := bson.Marshal(v)
    if err != nil {
        return
    }

    err = bson.Unmarshal(data, &doc)
    return
}

Maka dapat digunakan seperti ini:

partialUpdate := &NoteUpdate{
    Title: "Some new title",
}

doc, err := toDoc(partialUpdate)
// check error

res := c.FindOneAndUpdate(
    context.Background(),
    bson.NewDocument(bson.EC.String("_id", "some-note-id")),
    bson.NewDocument(bson.EC.SubDocument("$set", doc)),
)

Semoga ElementConstructor.Interface() akan meningkat di masa mendatang dan memungkinkan meneruskan nilai struct atau pointer ke nilai struct secara langsung.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana saya harus menyimpan nilai boolean di mongodb?

  2. Mengevaluasi kompleksitas kueri agregasi MongoDB:biaya $lookup

  3. Bson cukup mencetak menggunakan driver Java MongoDb

  4. Mempercepat agregasi MongoDB

  5. Bagaimana menemukan catatan acak di mongodb