代码之家  ›  专栏  ›  技术社区  ›  Daniel

更新没有id的cloud firestore文档

  •  0
  • Daniel  · 技术社区  · 7 年前

    我的云Firestore如下所示:

    users
      ├────random_id_1───{name, email, ...}
      ├────random_id_2───{name, email, ...}
     ...
      └────random_id_n───{name, email, ...}
    

    我想更新一个 使用者 假设我有一个唯一的标识符,它不是文档的随机id(例如,假设名称是唯一的,我想使用它作为标识符)。

    如何更新通过字段标识的文档?

    1 回复  |  直到 7 年前
        1
  •  6
  •   Frank van Puffelen    5 年前

    Firestore只能更新其知道完整引用的文档,这需要文档ID。在当前结构上,您必须运行查询以查找文档。比如:

    firebase.firestore().collection("users")
      .where("name", "==", "Daniel")
      .get()
      .then(function(querySnapshot) {
        querySnapshot.forEach(function(document) {
         document.ref.update({ ... }); 
        });
      });
    

    如果您有另一个唯一的属性,我总是建议使用它作为文档的ID。这样,您就可以自动保证每个用户只能存在一个文档,并且您无需执行查询来查找文档。

    推荐文章