Skip to content

Instantly share code, notes, and snippets.

@soichisumi
Last active December 2, 2018 19:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save soichisumi/5b5c6b1ba159894e1c9eb804fe56ec02 to your computer and use it in GitHub Desktop.
Save soichisumi/5b5c6b1ba159894e1c9eb804fe56ec02 to your computer and use it in GitHub Desktop.
example of listening firestore realtime update
package main
import (
"firebase.google.com/go"
"cloud.google.com/go/firestore"
"context"
"log"
"math/rand"
"fmt"
)
var client *firestore.Client
var ctx = context.Background()
func main(){
conf := &firebase.Config{ProjectID: "GCP_PROJECT_ID"}
app, err := firebase.NewApp(ctx, conf)
if err != nil {
log.Fatalln(err)
}
client, err = app.Firestore(ctx)
if err != nil {
log.Fatalln(err)
}
defer client.Close()
snapshotIterator := client.Collection("users").Doc("user1").Snapshots(ctx)
defer snapshotIterator.Stop()
for{
data, err := snapshotIterator.Next()
if err != nil {
log.Fatalln(err)
}
fmt.Printf("data exist: %+v, data: %+v\n", data.Exists(), data.Data())
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment