繁体   English   中英

更新null字段以映射Firestore

[英]update null field to map Firestore

我有这样的对象:

data class Task(var id: Int? = null,
 var cabinId: Int = 0,
 var startTime: DateTime,
 var endTime: DateTime? = null
)

当我写文档时,它是完全可以的:

    db.collection("games").document(game.idForTitle)
        .set(game)
        .addOnSuccessListener { documentReference ->
            Log.d(TAG, "DocumentSnapshot written with ID: ${documentReference}")
        }
        .addOnFailureListener { e ->
            Log.w(TAG, "Error adding document", e)
        }

但是当我尝试更新endTime字段时,它会抛出:

java.lang.IllegalArgumentException:无效的数据。 不支持的类型:org.joda.time.DateTime(在字段endTime中找到)

有趣的是,startTime字段被写入为map,但是endTime为null类型。

有人知道该怎么办吗?

有趣的是,startTime字段被写为map,但是endTime为null类型。

endTimenull因为它在构造函数中初始化为null

var endTime: DateTime? = null

如果需要服务器时间戳,请将字段的类型更改为Date类型,使用批注,并使该字段保持未初始化状态,如以下帖子中我的回答所述:

如果您需要更新字段,请确保该字段的类型是Firestore中支持的数据类型之一

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM