Не удается обновить массив в Firestore из-за ошибки - PullRequest
1 голос
/ 09 июля 2020

У меня есть этот класс данных в Kotlin:

data class Product(
    var id: String? = null,
    var name: String? = null,
    @ServerTimestamp
    var createdAt: Date? = null
): Serializable

И эта база данных Firestore:

Root
 \
 carts <- collection
   \
   cartId <- document
     \
     products: [productObj, productObj, productObj]

И я пытаюсь добавить еще один объект Product в список. Я использую эту строку:

cartsRef.document(cartId).update("products", FieldValue.arrayUnion(product)).addOnCompleteListener {}

И получаю следующую ошибку:

java .lang.IllegalArgumentException: недопустимые данные. FieldValue.serverTimestamp () может использоваться только с set () и update ()

Почему я получаю эту ошибку, если использую функцию update()?

1 Ответ

0 голосов
/ 10 июля 2020

В своем классе данных вы должны попробовать изменить @ServerTimestamp на

@ServerTimestamp private val serverTimestamp:Date
...