Agu*_*ana 2 ios firebase swift google-cloud-firestore
我想将 firestore 文档中的一个字段设置为空,就像lastEventApproval上图中的字段一样。
我尝试使用下面的代码创建一个文档
let data = ["lastEventApproval" : nil , other data here .....]
batch.setData(userDictionary, forDocument: ref)
Run Code Online (Sandbox Code Playgroud)
所以我想在成功创建文档时,有一个名为lastEventApprovalnull 的字段,如上图所示
但结果是......
lastEventApproval如果我使用该代码,则不存在。像这样

在Android中,我可以使用这段代码制作类似的东西
val data = hashMapOf("lastEventApproval" to null)
batch.set(ref,data)
Run Code Online (Sandbox Code Playgroud)
但我不知道为什么它在 iOS swift 中不起作用,也许我需要指定 nil 以外的其他值?
那么如何在 swift 中使 firestore 文档中的字段为空?
如果你想实际编写一个 null 来用作占位符(例如),那就是这样
func writeNull() {
let collRef = self.db.collection("test_collection")
let data: [String: Any] = [
"key": "value",
"key1": NSNull()
]
collRef.addDocument(data: data)
}
Run Code Online (Sandbox Code Playgroud)
和结果
这也有效
func writeNull() {
let collRef = self.db.collection("test_collection")
let data: [String: Any?] = [
"key": "value",
"key1": nil
]
collRef.addDocument(data: data)
}
Run Code Online (Sandbox Code Playgroud)