如何使用 swift 在 firestore 文档中的字段中设置空值?

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 文档中的字段为空?

Jay*_*Jay 6

如果你想实际编写一个 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)