tree: 00796c339efef087885279f5cd168527718840b5 [path history] [tgz]
  1. admin/
  2. aliasshim/
  3. apiv1/
  4. internal/
  5. testdata/
  6. .repo-metadata.json
  7. CHANGES.md
  8. client.go
  9. datastore.go
  10. datastore.replay
  11. datastore_test.go
  12. doc.go
  13. errors.go
  14. example_test.go
  15. go.mod
  16. go.sum
  17. integration_test.go
  18. key.go
  19. key_test.go
  20. keycompat.go
  21. keycompat_test.go
  22. load.go
  23. load_test.go
  24. mock_test.go
  25. mutation.go
  26. mutation_test.go
  27. option.go
  28. prop.go
  29. prop_test.go
  30. query.go
  31. query_test.go
  32. README.md
  33. save.go
  34. save_test.go
  35. time.go
  36. time_test.go
  37. transaction.go
  38. transaction_test.go
  39. transform.go
  40. transform_test.go
  41. util_test.go
datastore/README.md

Cloud Datastore Go Reference

Example Usage

First create a datastore.Client to use throughout your application:

client, err := datastore.NewClient(ctx, "my-project-id")
if err != nil {
	log.Fatal(err)
}

Then use that client to interact with the API:

type Post struct {
	Title       string
	Body        string `datastore:",noindex"`
	PublishedAt time.Time
}
keys := []*datastore.Key{
	datastore.NameKey("Post", "post1", nil),
	datastore.NameKey("Post", "post2", nil),
}
posts := []*Post{
	{Title: "Post 1", Body: "...", PublishedAt: time.Now()},
	{Title: "Post 2", Body: "...", PublishedAt: time.Now()},
}
if _, err := client.PutMulti(ctx, keys, posts); err != nil {
	log.Fatal(err)
}