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

Gửi truy vấn MongoDB đến một hệ thống khác:chuyển đổi thành JSON và sau đó giải mã thành BSON? Làm thế nào để làm điều đó trong ngôn ngữ cờ vây?

Sau một số nghiên cứu, tôi đã tìm thấy mejson thư viện, tuy nhiên nó chỉ dành cho Marshaling, vì vậy tôi quyết định viết Unmarshaller.

Kìa ejson (Tôi đã viết nó), ngay bây giờ nó là một ejson rất đơn giản -> bson trình chuyển đổi, không có bson -> ejson tuy nhiên, bạn có thể sử dụng mejson cho điều đó.

ví dụ :

const j = `{"_id":{"$oid":"53c2ab5e4291b17b666d742a"},"last_seen_at":{"$date":1405266782008},"display_name":{"$undefined":true},
"ref":{"$ref":"col2", "$id":"53c2ab5e4291b17b666d742b"}}`

type TestS struct {
    Id          bson.ObjectId `bson:"_id"`
    LastSeenAt  *time.Time    `bson:"last_seen_at"`
    DisplayName *string       `bson:"display_name,omitempty"`
    Ref         mgo.DBRef     `bson:"ref"`
}

func main() {
    var ts TestS
    if err := ejson.Unmarshal([]byte(j), &ts); err != nil {
        panic(err)
    }
    fmt.Printf("%+v\n", ts)

    //or to convert the ejson to bson.M

    var m map[string]interface{}
    if err := json.Unmarshal([]byte(j), &m); err != nil {
        t.Fatal(err)
    }
    err := ejson.Normalize(m)
    if err != nil {
        panic(err)
    }
    fmt.Printf("%+v\n", m)

}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose, cập nhật giá trị trong mảng đối tượng

  2. MongoDB Địa cầu truy vấn địa lý chồng chéo một điểm

  3. Điều gì được trả về từ truy vấn Mongoose không tìm thấy kết quả phù hợp?

  4. Cách nhận kết quả lệnh mongo vào một tệp phẳng

  5. Không thể kết nối với mongolab, Bắt MongoError:auth không thành công