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() | |
} | |
} |