亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Aerospike Golang 客戶端 putObject 方法讓我恐慌

Aerospike Golang 客戶端 putObject 方法讓我恐慌

Go
慕工程0101907 2021-11-22 15:21:40
我正在嘗試將結果從 MongoDB 保存到 AeroSpike。我正在為 Mongodb 使用 MGO 客戶端。代碼如下: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 收到以下錯誤: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我已經轉向谷歌并且對此沒有運氣。為了進行健全性測試,我運行了以下命令以查看結構是否保存到 AeroSpike 中并且確實保存了。 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)}
查看完整描述

1 回答

?
米琪卡哇伊

TA貢獻1998條經驗 獲得超6個贊

您正試圖將地圖保存到 aerospike 中,而不是struct

我認為您最好的選擇是將地圖封裝在一個結構中。


查看完整回答
反對 回復 2021-11-22
  • 1 回答
  • 0 關注
  • 192 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號