我正在開發一個汽車租賃應用程式的專案。該應用程式可以由具有不同角色的管理員和用戶訪問。所以目前我正在使用 api / 手動在 firebase 中保存管理員添加的汽車
let vehicle = Vehicle(make: make, model: modell, price: price, mileage: mileage)
db.collection("Admin").document("car").setData(from: vehicle)
其中車輛是具有制造模型里程等屬性的物件。現在有了這個功能,我總是保存一個物件。如果我添加一個新物件,它會覆寫它我如何在汽車檔案中存盤多個物件。

uj5u.com熱心網友回復:
當您第二次運行上述陳述句時它是“更新”而不是“添加”的原因是因為您使用的是相同DocumentID的,您指定為“汽車”。
如果您正在運行一個 for 回圈函式來添加多個vehicle檔案,您可以修改您的代碼,類似于以下示例。
方法一
let vehicleDocID: Int = 0
let vehicle = Vehicle(make: make, model: modell, price: price, mileage: mileage)
for vehicle in vehicleS {
vehicleDocID = 1
db.collection("Admin").document("\(vehicleDocID)").setData(from: vehicle)
}
或者,您可以簡單地使用 .add() 函式來獲取我個人推薦的 defaultID。
方法二
var ref: DocumentReference? = nil
ref = db.collection("Admin").addDocument(data: [
"make": "make",
"model": "modell",
"price": "price",
"mileage": "mileage"
]) { err in
if let err = err {
print("Error adding document: \(err)")
} else {
print("Document added with ID: \(ref!.documentID)")
}
}

最后,如果車輛數量很大(>100),我建議您使用批量寫入將檔案添加到 Firestore,因為它可以確保更好的性能。對于批量寫入,您可以參考下面的 Firestore 檔案。
https://firebase.google.com/docs/firestore/manage-data/transactions
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/471130.html
標籤:IOS 迅速 代码 火力基地 firebase-实时数据库
