我现在为我的模型提供了某种数据结构,我一直在弄清楚,但其中一个问题是我需要根据用户登录来提供来自mongo的数据。
我想到的其中一种方法是这样的,如果我的对象在mongo中看起来像这样:
{
record_id: 1,
property_1: 'some value',
property_2: 'some value',
users: [1, 2, 3, 4]
...
}
然后是另一个:
{
record_id: 2,
property_1: 'some value 2',
property_2: 'some value 2',
users: [1, 2]
...
}
然后在我拥有的某个页面上,我可以显示给定用户的所有记录。
但我有一个要求,我可以让一些用户访问更多记录和/或更少。我该怎么做呢?
如果我有一个案例,我需要从x个记录中取走访问权限,并为用户提供对y量记录的访问权限。在关系数据库中,我会做这样的事情:
--start transaction--
remove all access for a given user from the records
add all new access
--transaction end--
因此,如果用户刷新页面,他或她只能在更新该用户的访问权限之前查看旧数据,或者只有在整个交易完成后才会发生新数据。
你们是如何在mongo世界中做到这一点的?我是否更改了存储记录的方式,或管理每个用户的行级安全性的方式,以及管理该访问权限?