有没有办法在分区之间共享文档以避免重复?
如果我有枚举数据Message Status
(已发送、发送、失败、无法投递等),我必须为每个分区制作一份副本,而不是让所有分区共享相同的状态。
为清楚起见的示例:
用户A
有权访问分区1
,用户B
有权访问分区2
。为了让用户A
能够访问枚举数据,它需要与 partition key 一起存在1
。与用户相同B
,他需要一份带有分区键的枚举文档的副本2
,因为他无法访问带有分区的现有文档1
。所以数据最终会被复制。
有没有办法在分区之间共享文档以避免重复?
如果我有枚举数据Message Status
(已发送、发送、失败、无法投递等),我必须为每个分区制作一份副本,而不是让所有分区共享相同的状态。
为清楚起见的示例:
用户A
有权访问分区1
,用户B
有权访问分区2
。为了让用户A
能够访问枚举数据,它需要与 partition key 一起存在1
。与用户相同B
,他需要一份带有分区键的枚举文档的副本2
,因为他无法访问带有分区的现有文档1
。所以数据最终会被复制。
从另一个地方得到答案:
“不,此时 Realm Object(存储在 MongoDB 中时转换为文档)只能属于单个分区:如果您需要从多个分区引用同一条数据,您可以遵循两种模式:
如果数据很小,您可以使用 EmbeddedObject(或它们的列表),虽然由于重复而使用更多空间,但可以更快地访问数据本身,而无需往返数据库。如果您在谈论枚举,这看起来是一个不错的选择:ObjectId 无论如何都会占用一些数据。
使用公共数据定义另一个分区,并在客户端上为其打开一个单独的特定领域:您必须手动处理关系,即您可以将 ObjectIds 存储在您的主领域中,但需要查询次要的实际对象。只有当公共数据足够复杂以证明开销合理时,才可能值得。”