I'm stuck on how to define a partition key correctly to achieve the desired result for my use case. For reference, I'm looking at the mongoDB documentation here: https://docs.mongodb.com/realm/sync/partitioning/
Use case...
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] }
]
The desired results would be as follows:
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" }
My use case is such that the users in a documents readPermission and writePermission can be updated by users sharing and removing sharing privileges with other users.
Any one have any ideas on how I might be able to achieve this?