Как я могу обработать значение результата Go версии faunaDB API? - PullRequest
1 голос
/ 12 февраля 2020

С Go версией API faunaDB, Как я могу обработать результат API?

Я могу получить идентификатор документа, созданный JS версией API, как ret.ref.value.id следующим образом:

client.query(
    q.Create(
        q.Collection(this.collection), 
          { data: JSON.parse(textarea_data) }))
.then( (ret) => {
  document_id = ret.ref.value.id;
}

Но, с помощью API Go, тип возвращаемого значения map, но я не могу обработать следующее:

    ret, _ := client.Query(
        f.Create(
            f.Collection("label"),
            f.Obj{"data": f.Obj{"title": "What I had for breakfast .."}},
        ),
    )
    fmt.Println(ret)
    fmt.Println(ret["ref"])

Результат Println (ret) выглядит следующим образом:

map[data:map[title:What I had for breakfast ..] ref:{257136925662511627 0x9fa1a0 0x9fa1a0 <nil>} ts:1581483731810000]

Результат Println (ret ["ref"]) : ошибка выглядит следующим образом:

invalid operation: ret["ref"] (type faunadb.Value does not support indexing)

Как получить идентификатор созданного документа? Спасибо за ваше предложение!

1 Ответ

2 голосов
/ 12 февраля 2020

Я могу получить его следующим образом:

    var ref f.RefV

    ret, _ := client.Query(
        f.Create(
            f.Collection("label"),
            f.Obj{"data": f.Obj{"title": "What I had for breakfast .."}},
        ),
    )

    if err := ret.At(f.ObjKey("ref")).Get(&ref); err == nil {
        fmt.Println(ref.ID)
    }

Ключевые точки: Value.At () , ObjKey () , Get ( ) и RefV

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