Невозможно запустить фильтр на RethinkDB в Голанге

Я пытаюсь запустить фильтр для вложенного свойства данных RethinkDB в Golang, используя GoRethink библиотека.

Но я получаю эту ошибку:

gorethink: невозможно преобразовать OBJECT в SEQUENCE в: r.DB("uc_dev").Table("unverified_requests").Filter(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)

2 ответа

По сути, вот что мне нужно было сделать:

result, err = db.Table("unverified_requests").Filter(func(uu r.Term) r.Term {
    return uu.Field("user").Field("email").Eq(email)
}).Run(session)

Вы пытаетесь отобразить один объект. Может быть, это будет работать:

db.Table("unverified_requests").Filter(r.Row.Field("user").Field("email").Eq(email)).Run(session)
Другие вопросы по тегам