【发布时间】:2021-05-11 14:02:23
【问题描述】:
构建一个购物应用我在我的“用户”集合中添加了一个购物车项目。
在用户购买这些商品后,我想将这些购物车商品存储在其他集合“订单”中。但是当我尝试将这些购物车物品存储在我的订单集合中时,firebase 会抛出 Invalid data. Nested arrays are not supported。
我的错误是什么?
这是我的代码
onPressed: (){
//orderItem(cartItem);
getData() async {
return await FirebaseFirestore.instance.collection('users').where('id', isEqualTo: FirebaseAuth.instance.currentUser.uid).get();
}
getData().then((val){
if(val.docs.length>0){
//print(val.docs[0].data()['cart']);
// Map map = val.docs[0].data()['cart'];
var list = [val.docs[0].data()['cart']];
// map.entries.forEach((e) {
// list.add();
// });
// List items = [val.docs[0].data()['cart'].toList()];
FirebaseFirestore.instance.collection('orders').doc().set({
"userId": FirebaseAuth.instance.currentUser.uid,
"userName": FirebaseAuth.instance.currentUser.displayName,
"orders": FieldValue.arrayUnion([[val.docs[0].data()['cart']]]),
"price": cartController.totalCartPrice.value
});
}
else{
print("Not Found");
}
});
},
【问题讨论】:
标签: flutter google-cloud-firestore