我是go appengine数据存储区API的新手,我在第一次数据存储区查询时遇到了问题。
即使我删除了所有过滤代码,也无法检索任何条目。
我尝试创建一个简单的测试代码段来演示此问题:
package mypackage
import (
"appengine/aetest"
"appengine/datastore"
"testing"
)
type Toto struct {
Name string
}
func TestGetAll(t *testing.T) {
c, err := aetest.NewContext(nil)
if err != nil {
t.Fatal(err)
}
defer c.Close()
// insert a test object
_, _ = datastore.Put(c, datastore.NewIncompleteKey(c, "entitykind", nil), &Toto{"totoname"})
// fetch all objects
var result []Toto
datastore.NewQuery("entitykind").GetAll(c, &result)
if len(result) != 1 {
t.Fatalf("wrong length of result :%v", result)
}
}
如果我在插入后暂停程序并检查管理服务器,我看到该实体已正确插入。
我无法理解为什么我的查询无法检索它。
我还尝试将result
切片初始化为长度1,但Name
属性不会被GetAll
覆盖。