gpt4 book ai didi

javascript - Firebase:使用 JavaScript SDK 加入 Firestore 文档结果

转载 作者:行者123 更新时间:2023-12-03 01:42:12 27 4
gpt4 key购买 nike

我想要使用 Promise.all 获取/读取两个文档,然后将一些字段插入到我从另一个文档获得的一个响应中,.then 设置为最终文件。

我尝试执行以下操作,它没有错误/失败,但数据没有传输。我假设我必须“解压”响应,即创建一个新对象并附加所有属性,然后将该对象交给 .set? ...问题是这些回复可能充满了内容,所以我希望不必处理所有这些。

var promises = [getUserInfoFromFirestore(),getOrder(order,"orders")];

Promise.all(promises).then(function (res) {
//move some user fields to order fields
res[1].data().soldToEmail = res[0].email;
finalRef.set(res[1].data()).then(function() {
deleteOrder(order).then(function() {
toast("Order Submitted");
});
});
res[1].data().soldToFirstName = res[0].firstName;
}).catch(function (error) {
console.log("Error fetching order:", error);
});

最佳答案

DocumentSnapshot 对象是不可变的。您必须记住第一次调用 data() 的结果,因为它每次都会创建一个新对象。相反,修改该对象,并在对 set() 的调用中使用它。

或者,使用起来更容易、更直接 update()如果您只想修改文档中单个字段的内容。您甚至不必阅读要更新的文档。

关于javascript - Firebase:使用 JavaScript SDK 加入 Firestore 文档结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50788413/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com