我似乎无法使以下查询起作用:
Group.find({ $or: [ {'groupOwner': req.user._id }, { 'subscribers.user': req.user._id, 'subscribers.level': 'owner' } ] }, 'groupName', { sort: ['groupName', 'ascending'] }, function(err, groups) {
我的架构有一个组,订阅者作为子文档数组。我想找到 groupOwner 与传递的用户 ID 匹配的所有组(工作正常),以及subscribers.user = req.user._id ANDsubscribers.level = 'owner' 的所有文档
所写的查询返回所有子文档,其中subscribers.user = req.user._id 或有一些订阅者级别='所有者'。需要明确的是,我只想要子文档具有subscribers.user = req.user._id 并且相同的子文档具有subscribers.level = 'owner' 的组。
我已经尝试了各种方式的 $and 和 $elemMatch ,但就是无法得到它。谢谢你的帮助!