- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下结构
struct Vehicle: Codable, Identifiable {
@DocumentID var id: String?
var name: String
}
只要我使用默认的 Swift 解码器,我就可以毫无问题地加载 Firestore 条目(使用 document.data(as:
),并且 id
包含文档 ID .
但是我现在需要在该结构中使用自定义解码函数,这就是问题所在。
我可以毫无问题地加载所有字段,但文档 ID 未填写。
我试过这样的:
init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
if let id = try container.decodeIfPresent(DocumentID<String>.self, forKey: .id) {
self.id = id.wrappedValue
}
但它给了我nil
。
我找到了一些其他答案,但他们谈论的是 DocumentReference
,这是一种不存在(或不再存在?)的类型。
我该如何解决这个问题?
谢谢
最佳答案
使用以下方法解码文档 ID:
_id = try container.decode(DocumentID<String>.self, forKey: .id)
对于相应的变量:
@DocumentID var id: String?
这会将文档 ID 放入 ID 变量中(注意 id 前需要的“_”)。
关于swift - 使用自定义解码器解码 Firestore 结构时获取 DocumentID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67545856/
我正在使用 Hibernate Search 并且文档和书籍说我需要在 id 字段上使用 @DocumentId 以便 Hibernate Search 可以知道如何将索引映射到对象。 我的代码在我的
我想将集合中创建的 documentId 存储为同一文档中的 docid 字段/属性。我正在使用云 Firestore。 它显示错误“ReferenceError:文档未定义” 每当我尝试存储 doc
在我的 XPage 中,我需要设置数据源(Domino 文档) 我尝试按如下方式进行: 我注意到的是 documentId 中的代码部分没有被执行。完全没有。这就是为什么我把
我计划使用“输入中”查询选择器根据ID列表返回多个文档。但是,在此示例中,我简化了使用“==”: collection := server.Firestore.Collection("foo") //
这个问题已经有答案了: How to return a DocumentSnapShot as a result of a method? (2 个回答) 已关闭 3 年前。 我在获取添加文档的 do
我遇到了问题 encountered in this question .因为另一个问题(和答案)没有解决问题,我正在写一个新问题。 orderBy(FieldPath.documentId(), '
我有以下结构 struct Vehicle: Codable, Identifiable { @DocumentID var id: String? var name: String
我有以下结构 struct Vehicle: Codable, Identifiable { @DocumentID var id: String? var name: String
从 Firestore 进行查询后,我经常需要本地对象中的 documentId。由于 documentId 不是字段,因此我在查询中执行以下操作来实现此目的: const ref = fireDb.
当我使用 documentId 作为字段路径从 Firebase Firestore 查询数据时,在网页 (javascript) 和 Firebase 函数 (Node.js) 上运行脚本时会出现不
我们有一个页面可以包含多个完整日历实例。 我允许用户动态选择他们的主题和 View 以及各种其他选项。 在 V3 中,我们曾经: 根据元素id销毁日历 使用新选项重新初始化。 我们很容易传递一个元素
在我的场景中,用户可以“喜欢”另一个用户的个人资料。因此,我为每个用户创建了一个名为“likedBy”的子集合,我在其中为特定用户创建了一个文档,例如: users(col) -> User A(do
我有数据类初始化器 public static class ModelBuilderExtention { public static void Seed(this ModelBuilder
我正在从模板创建信封。我需要提前知道将在信封中创建的 documentIds,以便我可以处理一个奇怪的特殊情况预填充单选按钮。 (我可以更详细地解释原因,但这与这个问题并不相关。) 那么这些文档ID是
我正在尝试使用 Firestore 在云中提供一些数据,这些数据可以下载并存储在 iOS 设备上的 Realm 数据库中。 我要存储的对象的结构是: import Foundation import
我有一个带有 documentid 的实体 @Indexed @Analyzer(impl = EnglishAnalyzer.class) @Entity @Table(name = "Tag",
下面是我正在处理的代码,有用于评论列表的表格 View 和表格单元格,当我单击单元格中的按钮时,如何从 firestore 获取单元格的文档 ID。它没有显示错误,但它没有按要求执行,基本上单击后我想
我如何才能只阅读当前用户的评论?对于“我自己的评论”页面。我的代码已运行,但如果(其中字段:currentuid)不存在则不打印(“无数据”)。只打印 ("documents.data()")
我尝试在 MEAN 中进行 CRUD 操作。我正在尝试使用 documentid 更新整个文档。我不知道该怎么做。下面是我的代码: Users.prototype.updateUser = funct
Flutter 如何获取 Firestore 中文档生成的 documentID? 我知道我可以像这样访问文档的各个字段: return Firestore().collection(post
我是一名优秀的程序员,十分优秀!