google app engine - गोलांग-[] बाइट तुलना के साथ ऐपेंजिनिन डेटास्टोर फ़िल्टर क्वेरी
google-app-engine filter (2)
1.9.11 में, ByteString
पैकेज के लिए ByteString
प्रकार पेश किया गया था। यह लघु, अनुक्रमित बाइट स्लाइस को संचय करने के लिए इस्तेमाल किया जा सकता है।
यदि आप अपनी संस्था को निम्न में बदलते हैं, तो उसे काम करना चाहिए:
type Data struct {
ID int64 `json:"id"`
Version int32 `json:"-"`
HMAC datastore.ByteString `json:"-"`
Status string `json:"status"`
}
अधिक जानकारी: https://developers.google.com/appengine/docs/go/datastore/entities#Go_Properties_and_value_types
मैं डेटास्टोर में संस्थाओं के सेट पर एक फिल्टर क्वेरी करने की कोशिश कर रहा हूं, लेकिन एंटिटी फ़ील्ड मैं समानता ऑपरेटर के साथ, क्वेरी के लिए कोशिश कर रहा हूं, प्रकार [] बाइट की है और मुझे नहीं पता है कि एपेंगइन डेटास्टोर प्रदर्शन कर सकता है यह तुलना
यह मेरी संस्था है:
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 सेकंड के पाठ्यक्रम पर कार्यक्रम के पुन: प्रयास करने के बाद भी कोई परिणाम नहीं लौटाता है, इसलिए मेरा मानना नहीं है कि यह डेटास्टोर और उस दृश्य डेटा के बीच अंतिम स्थिरता का मुद्दा है जो मैंने वहां संग्रहीत किया है।
मेरा मुख्य प्रश्न यह है कि क्या एपेंजेन डेटास्टोर किसी प्रकार की [] बाइट के साथ फ़ील्ड पर एक तुलना फ़िल्टर का उपयोग करने के लिए क्वेरी के लिए अनुमति देता है?
आपके मुख्य प्रश्न का उत्तर नहीं है, क्योंकि [] बाइट को ब्लॉब के रूप में संग्रहित किया जाता है, जो एप इंजन डाटास्टोर द्वारा अनुक्रमित नहीं है।
queries with a filter or sort order on the unindexed property
will never match that entity.
Note: In addition to any unindexed properties you declare explicitly,
those typed as []byte are automatically treated as unindexed.
यहां दस्तावेज़ीकरण दिया गया है: https://developers.google.com/appengine/docs/go/datastore/indexes#Go_Unindexed_properties