please see my firestore structure

I want to set my document title as sequential. my structure as [Table] - Drinks - ["Drink (sequence)"] my first issues : my document title does follow sequence, like "Drink 1" and "Drink 2" etc however when I add new drinks to Another Table - the new document starting from Drink 3 rather than drink 1.
my second issues : if there were "drink 1" and "drink 2 documents", if I delete them then recreate the document title start from drink 2. I don't know what's wrong please help me .
my codes for doing this is
    var drinkCount : Int = 1
     func generateDrinkTitle(table: String,complete:@escaping() -> Void) {
        let docRef = db.collection("Active Table").document(table).collection("Drinks")
        
        docRef.getDocuments { querySnapshot, error in
            if let err = error {
                print("Error in getting: \(err.localizedDescription)")
            } else {
                self.drinkCount = 1
                for doc in querySnapshot!.documents {
                    self.drinkCount += 1
                }
            }
        }
        complete()
    } 
my whole code
class OrderViewModel : ObservableObject {
var drinkCount : Int = 1
    func saveDrinks(table : String) {
        var drinks : [[String : Any]] = []
        var drinkextra : [[String: Any]] = []
        for j in cartDrinks {
            for i in j.extra {
                drinkextra.append(["extra": i.extra,"price": i.price])
                drinks.append(["Name":j.name,
                               "Unit":j.unit ,
                               "Price":j.price,
                               "Extra": drinkextra
                              ])
                drinkextra.removeAll()
            }
        }
        db.collection("Active Table").document("Table \(table)").collection("Drinks").document("Drink \(self.drinkCount)").setData(["Drinks": drinks]){ error in
            if let error = error {
                print(error.localizedDescription)
                
            } else {
            }
        }
    }
    func generateDrinkTitle(table: String,complete:@escaping() -> Void) {
        let docRef = db.collection("Active Table").document(table).collection("Drinks")
        
        docRef.getDocuments { querySnapshot, error in
            if let err = error {
                print("Error in getting: \(err.localizedDescription)")
            } else {
                self.drinkCount = 1
                for doc in querySnapshot!.documents {
                    self.drinkCount += 1
                }
            }
        }
        complete()
    }
    func FireUpload(table: String){
        db.collection("Active Table").document("Table \(table)").setData(["Time" : Timestamp(date: Date())]) { error in
            if let error = error {
                print(error.localizedDescription)
                return
            }
        }
        if !mealDeal.mainCourse.isEmpty {
            self.SaveMealDeal(table: table)
        }
        if !cartDrinks.isEmpty {
            generateDrinkTitle(table: "Table \(table)") {
                self.saveDrinks(table: table)
                self.drinkCount = 1
            }
        }
        if !cartexpress.isEmpty {
            self.SaveAlacarte(table: table)
        }
    }
}