1

以前にこの特定のエラーに遭遇したことはありません.Googleで検索しても、それについて言及しているものはまったく見つかりません. Go 言語を使用して、反復子を使用する前に何度も行ったように標準的なデータストア クエリを実行すると、「proto: 必須フィールドが datastore.QueryResult に設定されていません」というエラーが表示されます。以下のコードを参照してください。何かアイデアはありますか?

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}
}
4

1 に答える 1

3

少なくとも、私の場合はそれを理解しています。エラーメッセージが何を意味するのか正確にはまだわかりません.ライブ環境でこれを実行したときに別のエラーが発生しました(それが私の答えにつながりました)。ライブサイトでは、「祖先にID/名前がありません」と言われました...簡単に言えば、クエリを実行する前に x.CompanyID 変数が正しく設定されていませんでした。エラー メッセージが dev/live でなぜそれほど異なるのかはわかりません。また、開発サーバーで ID/名前が見つからないというエラーを取得するのに役立ったことは確かですが、まあ、問題は解決しました。

于 2013-06-03T16:41:31.017 に答える