我正在尝试将结果从 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 回答
- 0 关注
- 171 浏览
添加回答
举报
0/150
提交
取消