【发布时间】:2020-04-14 12:13:23
【问题描述】:
我想在集合组查询期间搜索具有特定 ID 的文档。根据我的阅读,无法直接使用文档 ID 执行 CGQ,因此我打算将文档的 ID 镜像到文档中的字段 id。
我尝试了firestore.DocumentID(参见下面的代码 sn-p),希望它作为代表文档 ID 的标记值(在调用该方法时还不知道)。我发现firestore.DocumentID 实际上是一个值为"__name__" 的常量,它成为结果文档中id 字段的字符串值。
docRef, _, err := colRef.Add(ctx, map[string]interface{}{
"id": firestore.DocumentID, // this does not work
"events": events,
"url": url,
"enabled": true,
"created": firestore.ServerTimestamp,
"modified": firestore.ServerTimestamp,
})
是否可以在以原子方式调用Add 时将文档内的文档ID 写入id 字段?
如果是这样,那个哨兵值是什么?如果不是,我是否应该执行一个事务,首先创建文档,然后使用id 字段更新文档?
【问题讨论】: