首页 > 解决方案 > 将 MongoDB Atlas 数据划分为领域

问题描述

我坚持如何正确定义分区键以实现我的用例所需的结果。作为参考,我在这里查看 mongoDB 文档:https ://docs.mongodb.com/realm/sync/partitioning/

用例...

collection user: [
   { user_id : "user_1", displayName : "John", email : "john@test.com" }
   { user_id : "user_2", displayName : "Jane", email : "dale@test.com" }
   { user_id : "user_3", displayName : "Adam", email : "adam@test.com" }   
]

collection document: [
   { createdBy: user_1, title : "Document A", readPermission: [user_1], writePermission[user_1] }
   { createdBy: user_1, title : "Document B", readPermission: [user_2], writePermission[user_1] }
   { createdBy: user_2, title : "Document C", readPermission: [user_2], writePermission[user_1, user_2] }
]

期望的结果如下:

realm user_1: [
   { item: "A4", partitionKey: "salesperson=Jeff", volume: 15, customer: "mom" }
       { createdBy: user_1, title : "Document A", readPermission: [user_1], writePermission[user_1] }
       { createdBy: user_1, title : "Document B", readPermission: [user_2], writePermission[user_1] }
       { createdBy: user_2, title : "Document C", readPermission: [user_2], writePermission[user_1, user_2] }
]

realm user_2: [
       { user_id : "user_2", displayName : "Jane", email : "dale@test.com" }
       { createdBy: user_1, title : "Document B", readPermission: [user_2], writePermission[user_1] }
       { createdBy: user_2, title : "Document C", readPermission: [user_2], writePermission[user_1, user_2] }
]

realm user_3: [
]       { user_id : "user_3", displayName : "Adam", email : "adam@test.com" }   

我的用例是文档中的用户readPermission可以writePermission通过与其他用户共享和删除共享权限的用户进行更新。

有人对我如何能够实现这一目标有任何想法吗?

标签: mongodbrealm

解决方案


推荐阅读