2013-06-03 51 views
1

奇怪的錯誤之前,我沒有遇到過這個特定的錯誤,當我谷歌它我甚至找不到任何東西,甚至提到它。我正在使用Go語言,在使用迭代器之前執行標準數據存儲區查詢,就像我有很多次一樣,並且出現此錯誤:「proto:必須在datastore.QueryResult中未設置的字段」。看到我的代碼如下,有什麼想法?在datastore.Query.Run(c).Next(x)

k, err := datastore.NewQuery("QBConnection"). 
    Ancestor(datastore.NewKey(c, "Company", "", x.CompanyID, nil)). 
    Limit(1). 
    Run(c). 
    Next(x) 
if err != nil { 
    if _, ok := err.(*datastore.ErrFieldMismatch); ok { err = nil } //ignore it if we can't load some fields 
    if err == datastore.Done { err = nil } //If we don't find it in datastore, then just return nil 
    if err != nil {return err} 
} 

回答

3

我弄明白了我的情況,至少。我仍然不確定錯誤信息應該是什麼意思,當我在現場環境中運行時(導致我的回答),我得到了一個不同的錯誤。在實況網站上,它告訴我「祖先缺少身份證/姓名」......長話短說,我的x.CompanyID變量在運行查詢之前沒有正確設置。不知道爲什麼dev/live上的錯誤信息如此不同,並且肯定會幫助我在開發服務器上找到丟失的id/name錯誤......但是,問題解決了。