将数据存储到 Firebase 中的多个引用的最有效方法是什么?

Gergő Horváth

让我们看看接下来的情况:

如果我们创建一个用户,我们必须为该用户创建一个新客户端、一个新用户和一个新的初始项目。

db = {
  users: {},
  clients: {},
  projects: {}
};

const usersRef = firebase.database().ref("/users");
const clientsRef = firebase.database().ref("/clients");
const projectsRef = firebase.database().ref("/projects");

为了保持代码干净和分离,我们可以创建三个函数:

const newUserToDb = name => {
  const newUser = usersRef.push();
  newUser.set({name});
};

const newClientToDb = name => {
  const newClient = clientsRef.push();
  newClient.set({name});
};

const newProjectToDb = name => {
  const newProject = projectsRef.push();
  newProject.set({name});
};

const createUserToDb = (userName, clientName, projectName) => {
  newUserToDb(userName);
  newClientToDb(clientName);
  newProjectToDb(projectName);
};

在一个地方进行所有更改,但减少代码分离:

const createUserToDb = (userName, clientName, projectName) => {
  const userId = usersRef.push().key;
  const clientId = clientsRef.push().key;
  const projectId = projectsRef.push().key;

  const updates = {};

  updates[`/users/${userId}`] = userName;
  updates[`/clients/${clientId}`] = clientName;
  updates[`/projects/${projectId}`] = projectName;

  firebase.database().ref().update(updates);
};

上述两种解决方案之间有什么重要区别吗?哪个更有效率?

用户2515695

与上述方法的重要区别是原子性。在第一种情况下,单个集合或文档更新将成功或失败,而不会影响其他更新。在第二种情况下,所有更新都会成功,否则不会成功。

我不认为效率是用于比较上述场景的正确术语,它更多的是业务/用例,它将定义您需要使用哪个

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从api导入数据并在iphone应用程序中对其进行循环的最有效方法是什么?

来自分类Dev

将温度值集合存储到MYSQL的最有效方法是什么?

来自分类Dev

在大量阅读的Riak中存储时间序列的最有效方法是什么

来自分类Dev

在关系数据库中记录同胞的最有效方法是什么?

来自分类Dev

同步熊猫中两个大数据帧的最有效方法是什么?

来自分类Dev

如何将分离的数据存储到数据库中的最有效方法

来自分类Dev

在NLP应用程序中存储语言模型的最有效方法是什么?

来自分类Dev

将字典存储到Firebase中?

来自分类Dev

在pyspark中累积数据帧的最有效方法是什么?

来自分类Dev

在多维数组和单个数组之间存储数据的最有效方法是什么?

来自分类Dev

如何将嵌套的JSON对象存储到Firebase数据库中?

来自分类Dev

将Firebase数据存储到JavaScript中的数组中

来自分类Dev

存储和调用数据的最有效方法是什么?

来自分类Dev

检查数据库中是否有新条目的最快,最有效的方法是什么?

来自分类Dev

将数据从Firebase存储到SQLite或在flutter中脱机的最佳方法是什么?

来自分类Dev

从数据库中删除满足条件的实体的最有效方法是什么?

来自分类Dev

在多个存储库之间共享github工作流的最有效方法是什么?

来自分类Dev

在Firebase中构造数据列表的最有效方法是什么?

来自分类Dev

在R中删除数据表中空列的最有效方法是什么

来自分类Dev

将句子嵌入分布式Spark系统中的最有效方法是什么?

来自分类Dev

从api导入数据并在iphone应用程序中对其进行循环的最有效方法是什么?

来自分类Dev

在Parse中对数据进行分组的最有效方法是什么?

来自分类Dev

是否可以将简单数据(例如string / int / double)存储到Firebase存储中?

来自分类Dev

存储和调用数据的最有效方法是什么?

来自分类Dev

Firebase将数据存储到根目录中

来自分类Dev

在 Django 1.9 和 Postgres 9.5 中创建用于存储标签的模型的最有效方法是什么?

来自分类Dev

检查 Firebase 实时数据库节点值的相等性并更改它的最有效方法是什么?

来自分类Dev

python中检查同一个存储桶中是否存在多个s3键的最有效方法是什么?

来自分类Dev

使用 Firebase 数据库计算孩子数的最有效方法

Related 相关文章

  1. 1

    从api导入数据并在iphone应用程序中对其进行循环的最有效方法是什么?

  2. 2

    将温度值集合存储到MYSQL的最有效方法是什么?

  3. 3

    在大量阅读的Riak中存储时间序列的最有效方法是什么

  4. 4

    在关系数据库中记录同胞的最有效方法是什么?

  5. 5

    同步熊猫中两个大数据帧的最有效方法是什么?

  6. 6

    如何将分离的数据存储到数据库中的最有效方法

  7. 7

    在NLP应用程序中存储语言模型的最有效方法是什么?

  8. 8

    将字典存储到Firebase中?

  9. 9

    在pyspark中累积数据帧的最有效方法是什么?

  10. 10

    在多维数组和单个数组之间存储数据的最有效方法是什么?

  11. 11

    如何将嵌套的JSON对象存储到Firebase数据库中?

  12. 12

    将Firebase数据存储到JavaScript中的数组中

  13. 13

    存储和调用数据的最有效方法是什么?

  14. 14

    检查数据库中是否有新条目的最快,最有效的方法是什么?

  15. 15

    将数据从Firebase存储到SQLite或在flutter中脱机的最佳方法是什么?

  16. 16

    从数据库中删除满足条件的实体的最有效方法是什么?

  17. 17

    在多个存储库之间共享github工作流的最有效方法是什么?

  18. 18

    在Firebase中构造数据列表的最有效方法是什么?

  19. 19

    在R中删除数据表中空列的最有效方法是什么

  20. 20

    将句子嵌入分布式Spark系统中的最有效方法是什么?

  21. 21

    从api导入数据并在iphone应用程序中对其进行循环的最有效方法是什么?

  22. 22

    在Parse中对数据进行分组的最有效方法是什么?

  23. 23

    是否可以将简单数据(例如string / int / double)存储到Firebase存储中?

  24. 24

    存储和调用数据的最有效方法是什么?

  25. 25

    Firebase将数据存储到根目录中

  26. 26

    在 Django 1.9 和 Postgres 9.5 中创建用于存储标签的模型的最有效方法是什么?

  27. 27

    检查 Firebase 实时数据库节点值的相等性并更改它的最有效方法是什么?

  28. 28

    python中检查同一个存储桶中是否存在多个s3键的最有效方法是什么?

  29. 29

    使用 Firebase 数据库计算孩子数的最有效方法

热门标签

归档