Ошибка ключа не найдена для коллекции. Загрузка при работе Couchbase - PullRequest
1 голос
/ 31 января 2020

У меня есть следующий документ в Couchbase:

{
  "id": "ee::brown",
  "type": "ee",
  "firstName": "John",
  "lastName": "Brown",
  "email": "jbown@gmail.com"
}

Приведенный ниже код пытается получить поле lastName для id = "ee :: brown"

ops := []gocb.LookupInSpec{
   gocb.GetSpec("lastName", &gocb.GetSpecOptions{}),
   }
getResult, err := collection.LookupIn("ee::brown", ops, &gocb.LookupInOptions{})
if err != nil {
  panic(err)
}

var lastName string
err = getResult.ContentAt(0, &lastName)
if err != nil {
   panic(err)
}
fmt.Println(lastName) 

Запуск этого кода генерирует следующее сообщение:

Not Found (KEY_ENOENT)

Выполнение следующего запроса в инструментальных средствах Query возвращает полный документ:

select * from mybucket where id="ee::brown"

Также попытался установить для поля IsXttra значение true следующим образом, но оно также не сработало:

ops := []gocb.LookupInSpec{
    gocb.GetSpec("lastName", &gocb.GetSpecOptions{IsXattr: true}),
}

Также не удалось найти определение IsXattr для GetSpecOption. Для чего это? Помогите пожалуйста!

Среда: macOS Catalina версия 10.15.3; go -sdk: импорт "github.com/couchbase/gocb/v2"; Couchbase: Enterprise Edition 6.5.0 сборка 4960

...