Swift 使用阵列和Firebase

Swift 使用阵列和Firebase,swift,firebase,firebase-realtime-database,Swift,Firebase,Firebase Realtime Database,希望将数组作为以整数作为键名的对象列表提交给firebase。我知道firebase不直接支持阵列,所以我想知道如何做到这一点。我正在创建用户添加用户购物车的项目列表。因此,我是这样处理的: func addItemtoCart(item: String, completed: @escaping (_ completed: Bool) -> ()) { Firebase_REference_Cart.child(userID).child("itemIDs").updateChil

希望将数组作为以整数作为键名的对象列表提交给firebase。我知道firebase不直接支持阵列,所以我想知道如何做到这一点。我正在创建用户添加用户购物车的项目列表。因此,我是这样处理的:

func addItemtoCart(item: String, completed: @escaping (_ completed: Bool) -> ()) {    Firebase_REference_Cart.child(userID).child("itemIDs").updateChildValues(["itemiD": itemID])
  completed(true)
}
我理解这将不起作用,因为每次将和项目添加到购物车时,它都会替换“ItemId”下的项目。我想买点像这样的东西

CartITems: {
  0: "945495949856956",
  1: "9459469486895695"
  2: "J888568567857685"
}

如果有人能以最具描述性的方式描述如何从A到Z进行此操作,这将非常有帮助。我是firebase的新手,需要一些指导

首先创建如下模型:

struct Model {
var id: String
init(id: String) {
   self.id = id 
}}
然后在类中创建此模型的实例:
var model=model(id:“First id”)
然后,要将其推送到Firebase,请使用:

func addInstance(model: Model) -> Completable {
    return Completable.create( subscribe: { completable in
            let reference = Database.database()
                .reference()
                .child("Models")
                .childByAutoId
            var model = model
            model.id = reference.key
            reference.setValue(model.dictionary)
            self.modelVariable.value.append(model)
            completable(.completed)
        }
        else {
            completable(.error(NSError(domain: "Sample", code: 403, userInfo: [NSLocalizedDescriptionKey: "Server Error"])))
        }
        return Disposables.create()
    })

Firebase文档明确建议不要将数组用于此类数据结构。请参阅,其中还包括如何向列表中添加项的示例代码。