具有多个客户端的 Web 应用程序的数据库

2024-03-11

在现实世界的网络应用程序中,如何为多个客户/公司/客户存储数据?

假设我们为一位客户提供以下集合:

- users
- tasks

我如何将该系统扩展到第二个客户端?有标准方法吗?

注意:我正在使用 Firestore (no-sql)。


我们为每个客户使用一组单独的集合。我们的数据结构非常适合我们,看起来像这样......

/clients/{clientId}/reportingData
/clients/{clientId}/billingData
/clients/{clientId}/privateData

使用安全规则,我们允许客户端读取其 reportingData 和 billingData 集合,但不允许读取 privateData 集合。

但是,如果您需要同时跨多个客户端查询数据(例如,供内部使用),那么 Frank 的选项 1 会更好,使用clientId field.

我们对用户做同样的事情......

/users/{uid}/publicProfile(任何人都可以读,只有用户可以写)

/users/{uid}/userProfile(只有用户可以读写)

/users/{uid}/privateProfile(用户无法读取或写入的内部数据)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有多个客户端的 Web 应用程序的数据库 的相关文章

随机推荐

  • 在不创建主题的情况下更改 emacs 中特定文本的颜色

    是否可以选择您正在编辑的一段文本并更改其颜色 我知道可以创建一个颜色主题来为某些类型的文本着色 例如某种编程语言中的着色函数 但是是否可以对特定 emacs 中的选定文本片段进行一次性颜色更改不创建主题的文档 提前致谢 在任何情况下 主题都
  • 无法访问对象原型上的方法

    我可以创建一个Cat对象并在其原型上设置一个方法来打印猫的名字 var log function message var results result results append p message p function Cat name
  • 从 OnActionExecuting 重定向到外部 url?

    我需要从 OnActionExecuting 方法重定向到外部网址 比方说 www google com 现在我正在使用这样的东西 public override void OnActionExecuting ActionExecuting
  • 如何使用变换原点让 svg 元素从中心旋转? [复制]

    这个问题在这里已经有答案了 我正在尝试对 svg 矩形元素进行非常简单的旋转 我希望这个元素相对于它的中心旋转 我试图使用transform origin属性来实现这一点 参见代码片段 尽管尝试使用 center 或 50 从中心旋转 但它
  • 使用 sql 查询在 hibernate 中创建新的对象实例

    我正在尝试使用查询在 hibernate 中创建一个对象 然后该对象将被保存回表示该类的表中 hbm xml 文件摘录
  • Django simple_tag 和设置上下文变量

    我正在尝试使用 simple tag 并设置上下文变量 我使用的是 django 的 trunk 版本 from django import template register simple tag takes context True d
  • strstr 不工作

    如果我输入 test 为什么这段特定的代码在 strstr 上返回 false char input 100 int main fgets input 100 stdin printf s input if strstr test mess
  • Perl 中有正则表达式来查找文件扩展名吗?

    Perl 中有正则表达式来查找文件扩展名吗 例如 如果我有 test exe 我怎样才能得到 exe my file test exe Match a dot followed by any number of non dots until
  • Ubuntu 上的 JAVA_HOME 定义不正确?

    我正在尝试在 Ubuntu 14 04 中安装一些软件 Shibboleth 我已经安装了 Java 7 OpenJDK usr lib jvm 我有这些行 usr environment JAVA HOME usr lib jvm jav
  • SQLite,将数据集/数据表复制到数据库文件

    我已经用创建的表填充了数据集another数据库文件 该表不在我希望能够将表复制到的数据库文件中 现在我想将所有这些记录 DataTable 保存到新创建的 SQLite 数据库文件中 我怎样才能做到这一点 另外 如果可能的话 我真的想避免
  • Microsoft.Extensions.Logging 对比自然对数

    我看到很多帖子提到将 Microsoft Extensions Logging 与 NLog 一起使用 我想更好地了解 Microsoft Extensions Logging 的用途是什么 具体来说为什么需要它或者与 NLog 一起使用它
  • Mongoose 具有 true 的独特布尔值

    我知道如何将字符串设置为在我的架构上唯一 如下所示 string type String unique true 但是有没有一种方法可以在对象上拥有具有 true 值的唯一布尔值并使用 false 默认设置 我需要的是 如果我尝试保存一个具
  • 以编程方式发送短信,无需短信编辑器窗口

    直到昨天 我还认为不使用 IOS 短信接口就不可能发送后台短信 这里很多人也保证 然而 今天我下载了一个名为 SmartSender 的新应用程序 它可以安排您的短信 然后自动发送 我测试了它 短信实际上并不是在后台发送的 而是出现一个本地
  • 尝试创建一个具有 6 个放射线的圆形菜单

    我正在尝试使用 html 和 css 创建一个带有 6 个径向线的圆形菜单 我只得到 6 个径向线 边界 中的 5 个 我需要获得第 5 项和第 6 项之间的最后一个径向 我需要得到相同的图片 DEMO http jsfiddle net
  • 我可以使 C++11 类/对象普遍线程安全吗?

    读过 据我了解 我可以确保我的类是线程安全的对于所有线程实现 通过使用 C 11 互斥体 我的理解正确吗 我期待的是要么是 可能有警告 要么不是 有原因 我的代码可能需要在目标平台上重新编译 但不需要更改我的源代码 彼得 换句话说 我应该能
  • 如何在 Win32 C++ 程序在后台运行时检测按键

    我有一个程序 每当我最小化它时 它就会进入系统托盘 我想知道的是 a 当我的程序位于系统托盘中时 如何检测按键操作 b 我怎么知道他们在键盘上按下了什么 特别是功能按钮 您需要使用设置键盘挂钩设置WindowsHookEx http msd
  • 在 R 中使用 ggplot2 创建多项目时间线

    我正在尝试创建一个多项目时间表 其中包含项目的各个阶段 以便将我们当前所有的项目组织在一个易于可视化的地方 我最初发现timeline 打包并能够半创建我所希望的东西 然而 该包似乎不太可定制 所以我希望在ggplot2 反而 这是我的假数
  • 找不到与 ASP.NET Web API 中的请求 URI 匹配的 HTTP 资源

    这是我的 TransferController 类的草图 所有这些都是 Web API 代码 public class TransferController ApiController HttpGet ActionName Queue pu
  • 如何使用 LINQ 获取具有特定子项的所有项?

    我的软件旨在加密和解密文件 用户将要处理的文件加载到 ListView 控件中 在控件中 每一项都是文件路径 其中包含一个子项 进程类型 ENCRYPT 或 DECRYPT 我需要获取具有 ENCRYPT 子项的所有项目 文件路径 的列表
  • 具有多个客户端的 Web 应用程序的数据库

    在现实世界的网络应用程序中 如何为多个客户 公司 客户存储数据 假设我们为一位客户提供以下集合 users tasks 我如何将该系统扩展到第二个客户端 有标准方法吗 注意 我正在使用 Firestore no sql 我们为每个客户使用一