Как сопоставить данные типа времени FaunaDB с переменной go lang? - PullRequest
0 голосов
/ 14 марта 2020

Я застрял при обработке данных типа времени faunaDB. Я понятия не имею, какой тип golang подходит для сопоставления с данными типа времени faunaDB.

Я пробовал следующий код для создания документа фауны:

type LabelData struct {
    RedirectURL   string `fauna:"redirectURL"`
    Owner         string `fauna:"owner"`
    RedirectCount int    `fauna:"redirectCount"`
    ExternalID    string `fauna:"externalID"`
    Tag           string `fauna:"Tag"`
    Created       int64  `fauna:created`
}

func faunaCreate(externalID string) (err error) {
    var documentRef f.RefV
    labelData := LabelData{
        RedirectURL:   "",
        Owner:         "",
        RedirectCount: 0,
        ExternalID:    externalID,
        Created:       f.ToMillis(f.Time("now")),
    }
    newlabel, err := client.Query(
        f.Create(
            f.Collection("label"),
            f.Obj{"data": labelData},
        ),
    )

Но это возникает следующая ошибка:

cannot use faunadb.ToMillis(faunadb.Time("now")) (type faunadb.Expr) as type int64 in field value

Какой тип данных для golang следует использовать для типа времени faunaDB? Спасибо за ваше предложение!

Ответы [ 2 ]

1 голос
/ 14 марта 2020

Ну, произошла ошибка, потому что вы пытаетесь инициализировать тип faunadb.Expr переменной int64.

Таким образом, вы можете изменить тип Created var. Либо сделать это faunadb.Expr или interface{}.

type LabelData struct {
    RedirectURL   string `fauna:"redirectURL"`
    Owner         string `fauna:"owner"`
    RedirectCount int    `fauna:"redirectCount"`
    ExternalID    string `fauna:"externalID"`
    Tag           string `fauna:"Tag"`
    Created       interface{}  `fauna:created`
}
0 голосов
/ 14 марта 2020

Используйте обычный go тип time.Time в своей структуре

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...