go - 使用 golang 查询中的 ID 从 Firestore GCP 获取文档
问题描述
我正在尝试从我的 GCP Firestore 集合中获取一组文档,其中查询文档 ID 在字符串数组中。我看到它可以与其他语言一起使用,但我找不到 Golang 的解决方案。
我正在尝试以下操作:
Collection("myCollection").Where(firestore.DocumentID, "in", []string{"id1", "id2", "id3"}).Documents(ctx)
但我有以下错误:
{
"code": 3,
"message": "__key__ filter value must be a Key"
}
我认为将文档 id 保存为文档本身的字段不是最佳做法,但它会降低查询的复杂性,这将是一种解决方法。你怎么看 ?有什么建议吗?
解决方案
使用Client.GetAll通过 id 获取多个文档。
var drs []*firestore.DocRef
for _, id := range []string{"id1", "id2", "id3"} {
drs = append(drs, cr.Doc(id))
}
snaps, err := client.GetAll(ctx, drs)
推荐阅读
- python - 如何在消息 django 中添加空行?
- javascript - How to initiate a devise logout with AJAX
- android - Flutter Android - Gradle task bundleRelease failed with exit code 1
- sql - 将一列中的值替换为涉及另一列中值的数学乘积?
- ios - 由于蒸馏失败错误,Ionic Angular IOS App 构建在 Xcode 中失败
- java - Springboot - Spring Kafka - 惰性容器工厂初始化
- conda - 使用“python setup.py develop”创建 conda 环境时出错
- visual-studio-2013 - 无法安装包
- mysql - 如何在我的表格中找到平均销售额高于表格平均值的所有邮政编码?
- python - 将图像插入到基材上