我正在嘗試將結(jié)果從 MongoDB 保存到 AeroSpike。我正在為 Mongodb 使用 MGO 客戶(hù)端。代碼如下:package mainimport ( "log" "flag" "fmt" ///"reflect" "gopkg.in/mgo.v2" "gopkg.in/mgo.v2/bson" as "github.com/aerospike/aerospike-client-go" /// "encoding/json")/*Iterating through the results */ results := make(map[string]interface{}) iter := c.Find(nil).Iter()for iter.Next(&results) { tmp := make(map[string]interface{}) b, _ := bson.Marshal(results) bson.Unmarshal(b, &tmp) log.Println("func (interface, interface):", tmp["_id"])/*Aerospike Key */ key, err := as.NewKey(*Namespace, *Set, "LIST")if err != nil { log.Fatal(err)}/*Saving to aerospike */client.PutObject(WritePolicy, key, tmp)}if err := iter.Close(); err != nil { fmt.Println(err)}我從 Aerospike 收到以下錯(cuò)誤:panic: reflect: call of reflect.Value.Elem on map Valuegoroutine 1 [running]:reflect.Value.Elem(0x24dd40, 0xc20803b020, 0x15, 0x0, 0x0, 0x0) /usr/local/Cellar/go/1.4.2/libexec/src/reflect/value.go:703 +0x1d5github.com/aerospike/aerospike-client-go.marshal(0x24dd40, 0xc20803b020, 0xc208052101, 0x0, 0x0, 0x0) /Users/milos/Downloads/golang/src/github.com/aerospike/aerospike-client-go/marshal.go:143 +0xa1我已經(jīng)轉(zhuǎn)向谷歌并且對(duì)此沒(méi)有運(yùn)氣。為了進(jìn)行健全性測(cè)試,我運(yùn)行了以下命令以查看結(jié)構(gòu)是否保存到 AeroSpike 中并且確實(shí)保存了。 type OBJECT struct { Price int DBName string}obj := &OBJECT{198, "Jack Shaftoe and Company"} errr := client.PutObject(WritePolicy, key, obj)if errr != nil { log.Fatal(errr)}}if err := iter.Close(); err != nil { fmt.Println(err)}
Aerospike Golang 客戶(hù)端 putObject 方法讓我恐慌
慕工程0101907
2021-11-22 15:21:40