데이터 저장소에있는 엔티티 집합에 대해 필터 쿼리를 수행하려고하지만 같음 연산자를 사용하여 쿼리하려고하는 엔티티 필드가 유형입니다 여기Golang - [] 바이트 비교를 사용하는 Appengine 데이터 스토어 필터 쿼리
type Data struct {
Id int64 `json:"id"`
Version int32 `json:"-"`
HMAC []byte `json:"-"`
Status string `json:"status"`
}
그리고 그것은하지만 빌드
func (view *DataView) GetDataByHMAC(hmac []byte) (Data, error) {
view_key := datastore.NewKey(view.context, "View", "data-view", 0, nil)
data := make([]Data, 0)
query := datastore.
NewQuery("ViewData").
Ancestor(view_key).
Filter("HMAC = ", hmac)
_, err := query.GetAll(view.context, &data)
if err != nil {
return Data{}, err
}
if len(data) == 0 {
return Data{}, ErrNoData
}
return data[0], nil
}
내 쿼리 논리되어 애플리케이션 엔진 데이터 저장소는이 비교
이 나의 실체를 수행 할 수있는 경우 [] 바이트 나도 몰라 프로그래밍 방식으로 10 초 동안 다시 시도한 후에도 결과를 반환하지 않으므로 데이터 스토어와 거기에 저장 한 뷰 데이터간에 최종 일관성 문제가 있다고 생각하지 않습니다.
내 주요 질문은 : appengine 데이터 저장소가 [] 바이트 유형의 필드에서 비교 필터를 사용하는 쿼리를 허용합니까?
문제는 무엇입니까? – OneOfOne
죄송합니다. 지금은 분명히했습니다. – InternetProfessionalPersonHere
필터 문자열'HMAC = "'에서 후행 공백을 제거하고 어떤 일이 일어나는지 확인하기 전에 언제든지 보냅니다. – AndrewN