如何在 firebase 中创建对象数组
How to create array of objects in firebase
我正在开发一个汽车租赁应用程序的项目。该应用程序可以由具有不同角色的管理员和用户访问。所以目前我正在使用 api / 在 firebase
中手动保存管理员添加的汽车
let vehicle = Vehicle(make: make, model: modell, price: price, mileage: mileage)
db.collection("Admin").document("car").setData(from: vehicle)
其中 vehicle 是具有 make model mileage 等属性的对象。现在有了这个功能,我总是保存一个对象。如果我添加一个新对象,它会覆盖它我如何在汽车文档中存储多个对象。
当你第二次运行上面的语句时它是“更新”而不是“添加”的原因是你使用相同的DocumentID
,你指定为“汽车” .
如果您是 运行 添加多个 vehicle
文档的 for-loop 函数,您可以修改类似于以下示例的代码。
方法一
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
我正在开发一个汽车租赁应用程序的项目。该应用程序可以由具有不同角色的管理员和用户访问。所以目前我正在使用 api / 在 firebase
中手动保存管理员添加的汽车 let vehicle = Vehicle(make: make, model: modell, price: price, mileage: mileage)
db.collection("Admin").document("car").setData(from: vehicle)
其中 vehicle 是具有 make model mileage 等属性的对象。现在有了这个功能,我总是保存一个对象。如果我添加一个新对象,它会覆盖它我如何在汽车文档中存储多个对象。
当你第二次运行上面的语句时它是“更新”而不是“添加”的原因是你使用相同的DocumentID
,你指定为“汽车” .
如果您是 运行 添加多个 vehicle
文档的 for-loop 函数,您可以修改类似于以下示例的代码。
方法一
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