微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Firebase Firestore:如何更新或访问和更新地图、数组、文档、集合中的字段值

如何解决Firebase Firestore:如何更新或访问和更新地图、数组、文档、集合中的字段值

抱歉标题太长。在视觉上更精确,我想在付款后更新股票价值。但是,在查询整个文档(例如,带有标题运动鞋的选定文档)后,我陷入了困境。有没有办法实际查询和更新例如 Timberlands 股票价值为其值 -1。或者您是否必须从整个文档中获取所有数据。然后在javascript中修改想要的部分并更新整个文档?

enter image description here

这是我目前想出的解决方案的一小部分。然而,这种方法似乎非常低效,让我很受伤。

const updateFirebaseStock = (orders) => {
  orders.forEach( async (order) => {
    try {
      collRef = db.doc(`collections/${order.collectionid}`);
      doc = await collRef.get();
      data = doc.data();
      //Here:const newItems = data.items.map(if it's corr name,update value,else just return object),results in desired new Array of objects.
      //Then Update entire document by collRef.update({items: newItems})
    } catch (error) {
      console.error(error)
    };
  });
}

解决方法

您根本不需要为此获取文档,您所要做的就是使用 FieldValue.increment(),使用您的代码作为起点,它可能如下所示:

collRef = db.doc(`collections/${order.collectionid}`);
collRef.update({
    Price: firebase.firestore.FieldValue.increment(-1)
});

您可以使用该函数对任何数值进行递增/递减。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。