GCP_PROJECT_ID の部分を GCP のプロジェクトIDにすると動く
go-cloud-workspace はコレクション名
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() | |
| } | |
| } |