如何使用Go连接非默认Firestore数据库?
Firestore Go包连接非默认数据库的支持说明
Firestore Go官方包(cloud.google.com/go/firestore)完全支持连接非默认数据库,不需要照搬Node.js的实现逻辑,二者API设计不同,正确用法如下:
核心实现步骤
- 先完成常规的Firestore客户端初始化
- 通过
Client.Database()方法传入非默认数据库ID,获取对应的数据库实例,后续所有操作基于该实例执行
代码示例
package main import ( "context" "fmt" "log" "cloud.google.com/go/firestore" "google.golang.org/api/option" ) func main() { ctx := context.Background() // 初始化Firestore客户端(替换为你的项目ID和服务账号密钥路径) client, err := firestore.NewClient(ctx, "your-project-id", option.WithCredentialsFile("service-account-key.json")) if err != nil { log.Fatalf("创建客户端失败: %v", err) } defer client.Close() // 指定非默认数据库ID,获取数据库实例 nonDefaultDB := client.Database("your-non-default-db-id") // 示例:向非默认数据库的集合写入数据 _, err = nonDefaultDB.Collection("test-collection").Doc("test-doc").Set(ctx, map[string]interface{}{ "name": "测试数据", "value": 123, }) if err != nil { log.Fatalf("写入数据失败: %v", err) } fmt.Println("数据成功写入非默认Firestore数据库") }
版本说明
该功能已在Firestore Go包的较新版本中支持,建议执行go get cloud.google.com/go/firestore@latest更新到最新版本,避免因版本过低导致功能缺失。
内容的提问来源于stack exchange,提问作者Marco van Staden
相关产品推荐
相关产品推荐

