MongoDB按键名查询共享项目:$or查询条件填充问题
解决MongoDB中查询共享项目的条件问题
要查询sharedWith中存在以指定用户ID为键的项目,你可以利用MongoDB的$exists操作符,结合动态属性路径来实现。
具体的查询条件可以写成:
{ [`sharedWith.${userId}`]: { $exists: true } }
替换到你的代码中后,完整的查询语句如下:
return this.readProjectsQuery({ $or: [ { createdBy: userId }, { [`sharedWith.${userId}`]: { $exists: true } } ], });
说明
- 使用ES6的计算属性名(
[]包裹的模板字符串)可以动态生成查询路径sharedWith.用户ID。 $exists: true用于判断该用户ID对应的键是否存在于sharedWith对象中,只要存在就代表项目共享给了该用户。
内容的提问来源于stack exchange,提问作者Ramazan Aliskhanov
相关产品推荐
相关产品推荐

