我正在尝试使用GoRethink
库在Golang上的RethinkDB数据的嵌套属性上运行过滤器。
但是,我收到了这个错误:
gorethink:无法将OBJECT转换为SEQUENCE:r.DB(" uc_dev")。表(" unverified_requests")。过滤器(func(var_5 r.Term)r .Term {return var_5.Field(" user")。Map(func(var_6 r.Term)r.Term {return var_6.Field(" email")})。Eq( " myemail@gmail.com")})
这是我的代码:
type User struct {
Id string `json:"id,omitempty"`
FirstName string `json:"firstName,omitempty"`
LastName string `json:"lastName,omitempty"`
Email string `json:"email,omitempty"`
Password string `json:"password,omitempty"`
Salt string `json:"salt,omitempty"`
}
type UnverifiedUserRequest struct {
Id string `json:"id,omitempty"`
Token string `json:"token,omitempty"`
User User `json:"user,omitempty"`
}
db.Table("unverified_requests").Filter(func(row r.Term) r.Term {
return row.Field("user").Map(func(user r.Term) r.Term {
return user.Field("email")
}).Eq(email)
}).Run(session)
答案 0 :(得分:0)
基本上,这就是我需要做的事情:
result, err = db.Table("unverified_requests").Filter(func(uu r.Term) r.Term {
return uu.Field("user").Field("email").Eq(email)
}).Run(session)
答案 1 :(得分:0)
您正在尝试映射单个对象。也许这会奏效:
db.Table("unverified_requests").Filter(r.Row.Field("user").Field("email").Eq(email)).Run(session)