MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Mongodb-go-driver / bson struct sang bson.Document encoding

Rất tiếc, điều này hiện không được hỗ trợ.

Bạn có thể tạo một hàm trợ giúp "chuyển đổi" giá trị struct thành bson.Document như thế này:

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

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

Sau đó, nó có thể được sử dụng như thế này:

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)),
)

Hy vọng rằng ElementConstructor.Interface () sẽ cải thiện trong tương lai và cho phép chuyển trực tiếp các giá trị hoặc con trỏ cấu trúc đến các giá trị cấu trúc.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. $ elemM phù hợp với khác biệt

  2. Cách in kết quả tối thiểu trong MongoDB

  3. Không thể khởi động lại mongodb trên Ubuntu 11.04

  4. Django + MongoDB vs Node.js + MongoDB

  5. MongoDB:Làm thế nào để đếm số lượng khóa trong một tài liệu?