Skip to content

Instantly share code, notes, and snippets.

@tosik
Created March 20, 2020 03:32
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 tosik/6adf8d79d4cb5147717591e0662a5aa9 to your computer and use it in GitHub Desktop.
Save tosik/6adf8d79d4cb5147717591e0662a5aa9 to your computer and use it in GitHub Desktop.

Firestore

GCP_PROJECT_ID の部分を GCP のプロジェクトIDにすると動く go-cloud-workspace はコレクション名

MongoDB

DB_NAME の部分を MongoDB の DB 名にする foo はコレクション名 接続設定は環境変数 MONGO_SERVER_URL にセットする

MONGO_SERVER_URL=mongodb://root:pass@localhost go run server.go

package main
import (
"log"
"context"
"gocloud.dev/docstore"
_ "gocloud.dev/docstore/gcpfirestore"
_ "gocloud.dev/docstore/mongodocstore"
)
type Player struct {
Name string
Score int
DocstoreRevision interface{}
}
func main() {
ctx := context.Background()
{
url := "firestore://projects/GCP_PROJECT_ID/databases/(default)/documents/go-cloud-workspace?name_field=Name"
// url := "mongo://DB_NAME/foo?id_field=Name"
coll, err := docstore.OpenCollection(ctx, url)
if err != nil {
log.Fatalln(err)
}
err2 := coll.Create(ctx, &Player{Name: "Pat", Score: 12345})
if err2 != nil {
log.Fatalln(err2)
}
defer coll.Close()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment