【发布时间】:2018-06-01 16:48:21
【问题描述】:
我正在为搜索功能编写服务。当我在正文中传递值以获取特定记录时,我无法根据结构值获取它。 例如:电话号码或用户名
编辑1:
type PatientData struct {
ID int64 datastore:"-"
FirstName string json:"firstname,omitempty"
LastName string json:"lastname,omitempty"
UserName string json:"username,omitempty"
Phone string json:"phone,omitempty"
}
我想根据用户名或电话获取完整的结构值。以下是我的代码:
func searchValue (res http.ResponseWriter, req *http.Request){
log.Printf("%#v Getting values url - x ", "called search")
patient := &PatientData{}
if err := json.NewDecoder(req.Body).Decode(patient); err != nil {
panic(err)
}
ctx := appengine.NewContext(req)
ctx, err := appengine.Namespace(ctx, NAMESPACENAME)
if err != nil {
panic(err)
}
m := patient.Phone
i, err := strconv.ParseInt(m, 10, 64)
log.Printf("%#v Getting values m ", m)
log.Printf("%#v Getting values url -yyy ",i)
key := datastore.NewKey(ctx, "Patient","" , i, nil)
log.Printf("%#v Getting values url - key ", key)
err = datastore.Get(ctx, key, patient)
if err := json.NewEncoder(res).Encode(patient); err != nil {
panic(err)
}
}
当我在我的 Newkey 中传递 PHONE 时,我无法根据 PHONE 生成值
我不想在 put 功能中使用 Newkey 来生成键名,并且基于该 KEYNAME 我不想获取值。
【问题讨论】:
-
你必须提供更多的细节。瞄准minimal reproducible example。
-
我只是在编辑我的帖子并附上详细信息
标签: google-app-engine go google-cloud-datastore datastore