Android 在firestore文档中将数组更改命名约定更新为驼峰大小写

Android 在firestore文档中将数组更改命名约定更新为驼峰大小写,android,firebase,kotlin,google-cloud-firestore,naming-conventions,Android,Firebase,Kotlin,Google Cloud Firestore,Naming Conventions,我有一个产品的数组列表,当我使用update方法将其设置为firestore document时,尽管我的模型中的变量名是CapWords,但变量的命名将变成驼峰大小写。所以你可以在第一个屏幕截图中看到产品的元素是CapWords,但当我更新它时,它会毫无理由地变成驼色 override fun onProductClicked(sku: FirebaseProduct) { skuItems[0].StatusId = 123 //try to update element in array

我有一个产品的数组列表,当我使用update方法将其设置为firestore document时,尽管我的模型中的变量名是CapWords,但变量的命名将变成驼峰大小写。所以你可以在第一个屏幕截图中看到产品的元素是CapWords,但当我更新它时,它会毫无理由地变成驼色

override fun onProductClicked(sku: FirebaseProduct) {
skuItems[0].StatusId = 123 //try to update element in array of products
FirestoreHelper.update(skuItems)}

fun update(skuItems: ArrayList<FirebaseProduct>) {
db.collection(Constants.PURCHASE_RECEIPTS).document(1.toString())
.update("Products", skuItems)} //when i updated the array all the object names turned into camle-case


向我们展示您模型类的内容。我无法在您的
FirebaseProduct
a类属性
产品
类型列表中看到。它在哪里?@AlexMamo我用Firebasepr模型类再次更新了它,该模型类中包含产品作为列表显示您模型类的内容。我无法在您的
FirebaseProduct
class a属性
products
类型列表中看到。它在哪里?@AlexMamo我用Firebasepr模型类再次更新了它,其中包括作为列表的产品
class FirebasePR {

constructor()
constructor(
    maxabPurchaseReceiptId: Long,
    StatusId: Long?,
    PoId: Long?,
    ScannedAt: String?,
    EndedAt: String?,
    maxabWarehouseId: Long?,
    maxabDeliveryDate: String?,
    ReceiverId: Long?,
    AreaId: Long?,
    AdminId: Long?,
    Products: List<FirebaseProduct>?,
    NumOfRemaining: Long?,
    NumOfReceived: Long?
) {
    this.MaxabPurchaseReceiptId = maxabPurchaseReceiptId
    this.StatusId = StatusId
    this.PoId = PoId
    this.ScannedAt = ScannedAt
    this.EndedAt = EndedAt
    this.MaxabWarehouseId = maxabWarehouseId
    this.MaxabDeliveryDate = maxabDeliveryDate
    this.ReceiverId = ReceiverId
    this.AreaId = AreaId
    this.AdminId = AdminId
    this.Products = Products
    this.NumOfRemaining = NumOfRemaining
    this.NumOfReceived = NumOfReceived }

var MaxabPurchaseReceiptId: Long? = null
var StatusId: Long? = null
var PoId: Long? = null
var ScannedAt: String? = null
var EndedAt: String? = null
var MaxabWarehouseId: Long? = null
var MaxabDeliveryDate: String? = null
var ReceiverId: Long? = null
var AreaId: Long? = null
var AdminId: Long? = null
var Products: List<FirebaseProduct>? = null
var NumOfRemaining: Long? = null
var NumOfReceived: Long? = null}
class FirebaseProduct {
constructor()
constructor(
    CreatedAt: Timestamp,
    UpdatedAt: Timestamp,
    MaxabProductPurchaseReceiptId: Int,
    MaxabPackingUnitId: Int,
    MaxabProductId: Int,
    MaxabBasicUnitCount: Int,
    IssuedCount: Int,
    ReceivedCount: Int,
    ReceivedAt: Timestamp,
    EndedAt: Timestamp,
    StatusId: Int,
    Quality: Boolean,
    ExpirationDate: Timestamp,
    ProductCode: String,
    MaxabBasicUnitId: Int,
    PalletsNumber: Int,
    MaxabProductNameAr: String,
    MaxabPackingUnitNameAr: String,
    MaxabProductImage: String
) {
    this.CreatedAt = CreatedAt
    this.UpdatedAt = UpdatedAt
    this.MaxabProductPurchaseReceiptId = MaxabProductPurchaseReceiptId
    this.MaxabPackingUnitId = MaxabPackingUnitId
    this.MaxabProductId = MaxabProductId
    this.MaxabBasicUnitCount = MaxabBasicUnitCount
    this.IssuedCount = IssuedCount
    this.ReceivedCount = ReceivedCount
    this.ReceivedAt = ReceivedAt
    this.EndedAt = EndedAt
    this.StatusId = StatusId
    this.Quality = Quality
    this.ExpirationDate = ExpirationDate
    this.ProductCode = ProductCode
    this.MaxabBasicUnitId = MaxabBasicUnitId
    this.PalletsNumber = PalletsNumber
    this.MaxabProductNameAr = MaxabProductNameAr
    this.MaxabPackingUnitNameAr = MaxabPackingUnitNameAr
    this.MaxabProductImage = MaxabProductImage
}

var CreatedAt: Timestamp? = null
var UpdatedAt: Timestamp? = null
var MaxabProductPurchaseReceiptId: Int? = null
var MaxabPackingUnitId: Int? = null
var MaxabProductId: Int? = null
var MaxabBasicUnitCount: Int? = null
var IssuedCount: Int? = null
var ReceivedCount: Int? = null
var ReceivedAt: Timestamp? = null
var EndedAt: Timestamp? = null
var StatusId: Int? = null
var Quality: Boolean = false
var ExpirationDate: Timestamp? = null
var ProductCode: String = ""
var MaxabBasicUnitId: Int = 0
var PalletsNumber: Int = 0
var MaxabProductNameAr: String = ""
var MaxabPackingUnitNameAr: String = ""
var MaxabProductImage: String = ""}