我想为MongoDB中的客户数据实现某种安全范围机制。我们目前正在为模型和执行查询使用mongoose ORM。
数据库中的每个集合都有accountId
字段,因此我想修改通过mongoose执行的每个查询,并添加过滤器{ $and: [{existing filter}, {accountId: { $in:[list of accounts allowed to this user] }}] }
。
我们已经有很多查询,其目的是创建一般解决方案,这将影响现有查询和将要编写的每个新查询。
我对MongoDB和Mongoose来说相对较新,而且我真的不知道如何在猫鼬中做到这一点。我看到它支持插件,但不确定这是否允许我做我需要的。
我还看到了一些在mongoose.Query.prototype.setOptions
上制作猴子补丁的解决方案,但我真的不明白如何利用这个解决方案满足我的需求。
谢谢!