【发布时间】:2020-09-12 14:24:57
【问题描述】:
我正在尝试将键值对添加到 Firestore 文档中的映射映射。您可以看到下面设置的文档。 “账单”映射由代表每个账单的键值对组成。每张账单都由一张地图表示。例如:“Bill 1”由代表项目名称和项目成本的键值对组成。
我想在账单中添加键值对。例如,我想向“Bill 1”添加一个项目,以便它包含“Bacon: 14”和我添加的其他项目。
这是我现在拥有的代码。但是,这段代码只是用我添加的新项目替换了 Bacon。它不会将新值添加到现有地图,只是将整个地图(Bill 1 的内容)替换为新项目和成本。
这是当前代码:
static Future addItemToBill(GroceryItem groceryItem, double cost) async {
try{
final FirebaseUser currentUser = await FirebaseAuth.instance.currentUser();
int currentBillNumber = await getBillCount(currentUser.uid);
if(currentBillNumber == 0){
currentBillNumber = 1;
}
final DocumentReference documentReference = usersCollection.document(currentUser.uid);
await documentReference.updateData({
"Bills.Bill $currentBillNumber": {
"${groceryItem.itemName}" : cost
}
});
}catch(error){
}
}
感谢您的帮助!
【问题讨论】:
-
在 Stack Overflow 上,不显示代码图像。请编辑问题,并将代码复制到问题中并格式化,以便于阅读、复制和搜索。
-
感谢您的反馈,我是堆栈溢出的新手。将相应地编辑帖子
标签: firebase flutter dart google-cloud-firestore