Go is in development for v1. Interested in contributing or chatting with us?Get in touch!
Go - Collection.Query.Fetch()
Retrieve a page of results for a query. This is an alternative to Collection.Query.Stream()
import (
  "context"
  "fmt"
  "github.com/nitrictech/go-sdk/nitric"
)
func main() {
  profiles, err := nitric.NewCollection("profiles").With(nitric.CollectionReading, nitric.CollectionWriting, nitric.CollectionDeleting)
  if err != nil {
    return
  }
  result, err := profiles.Query().Fetch(context.TODO())
  if err != nil {
    return
  }
  if err := nitric.Run(); err != nil {
    fmt.Println(err)
  }
}
Parameters
- Name
 ctx- Required
 - Required
 - Type
 - context
 - Description
 The context of the call, used for tracing.
Examples
Paging through results from a query
import (
  "context"
  "fmt"
  "github.com/nitrictech/go-sdk/nitric"
)
func main() {
  profiles, err := nitric.NewCollection("profiles").With(nitric.CollectionReading, nitric.CollectionWriting, nitric.CollectionDeleting)
  if err != nil {
    return
  }
  result, err := profiles.Query().Fetch(context.TODO())
  if err != nil {
    return
  }
  if err := nitric.Run(); err != nil {
    fmt.Println(err)
  }
}
import (
  "context"
  "fmt"
  "github.com/nitrictech/go-sdk/nitric"
)
func main() {
  profiles, err := nitric.NewCollection("profiles").With(nitric.CollectionReading)
  if err != nil {
    return
  }
  query := profiles.Query()
  ctx := context.TODO()
  results, err := query.Fetch(ctx)
  if err != nil {
    return
  }
  for len(results.Documents) > 0 || results.PagingToken != nil {
    for _, doc := range results.Documents {
      fmt.Println(doc)
    }
    if results.PagingToken != nil {
      results, err = query.FromPagingToken(results.PagingToken).Fetch(ctx)
      if err != nil {
        fmt.Println(err)
        return
      }
    }
  }
  if err := nitric.Run(); err != nil {
    fmt.Println(err)
  }
}
See also
- Query().Where()
 - Query().Limit()
 - [Query().PagingFrom()](./collection-query-pagingfrom