嗨,我正在尝试开发一个应用程序,但我需要一些帮助,我有一个功能,如果项目存在于Firestore上,那么我只需要这样做,我需要增加它的“数量”值。我已经获取并打印了值,但是我需要一些帮助以检查和增加值
String checker = await Firestore.instance
.collection('cart')
.document('LIihBLtbfuJ8Dy640DPd')
.get()
.then((DocumentSnapshot ds) => ds.data[foodItem.name]);
if (checker == foodItem.name) {
await Firestore.instance
.collection('cart')
.document('LIihBLtbfuJ8Dy640DPd')
.get()
.then((DocumentSnapshot ds) =>
a = ds.data[foodItem.name]['quantity']);
Firestore.instance
.collection("cart")
.document("LIihBLtbfuJ8Dy640DPd")
.updateData({
foodItem.name: {'quantity': q++}
});
} else {
Firestore.instance.runTransaction((Transaction transaction) async {
await transaction.update(
Firestore.instance
.collection("cart")
.document("LIihBLtbfuJ8Dy640DPd"),
{
foodItem.name: {
'itemName': foodItem.name,
'imgUrl': foodItem.imageAssetPath,
'itemPrice': foodItem.price,
'quantity': q,
}
});
});
}
答案 0 :(得分:2)
如果字段不存在,这就是您想要增加一个值的内容。firebase将使用1的值创建它。对于您的问题的检查器部分,我感到困惑。
Firestore.instance.collection("cart")
.document("LIihBLtbfuJ8Dy640DPd")
.setData({foodItem.name: {"quantity": FieldValue.increment(1)}});