Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何编写Mongo查询如果我将数组ID传递给聚合查询,则不会获取三重嵌套数组对象_Node.js_Mongodb - Fatal编程技术网

Node.js 如何编写Mongo查询如果我将数组ID传递给聚合查询,则不会获取三重嵌套数组对象

Node.js 如何编写Mongo查询如果我将数组ID传递给聚合查询,则不会获取三重嵌套数组对象,node.js,mongodb,Node.js,Mongodb,我正在收集3只猫鼬的数据 对于所有集合,UserEmail都是唯一的。 如果我传递了阻塞用户数组,其中只有像“…@gmail.com”这样的用户电子邮件,“…@yahoo.com”传递到此数组以聚合查询。我不会从这个被阻止的用户那里获取数据,包括客户、订阅源和共享订阅源 顾客: 我需要客户数据,就像我在预测中喜欢的那样 提要架构: 在feed中,我有feedLike数组和comments数组 在评论数组中,我有like[]和replay[] 现在,我需要从上述所有阵列中筛选被阻止的用户 我需要如

我正在收集3只猫鼬的数据 对于所有集合,UserEmail都是唯一的。 如果我传递了阻塞用户数组,其中只有像“…@gmail.com”这样的用户电子邮件,“…@yahoo.com”传递到此数组以聚合查询。我不会从这个被阻止的用户那里获取数据,包括客户、订阅源和共享订阅源

  • 顾客: 我需要客户数据,就像我在预测中喜欢的那样
  • 提要架构: 在feed中,我有feedLike数组和comments数组 在评论数组中,我有like[]和replay[] 现在,我需要从上述所有阵列中筛选被阻止的用户 我需要如何执行这种类型的查询,我有客户的要求。有人能帮忙吗
  •  getAllFeedsDataAggregateQuery: (blockedUsers) => {
        return chatUsers.aggregate([
            {
                $match:{
                    UserEmail: { $nin : blockedUsers}
                }
            },
            {
                $project: {
                    "UserName": 1,
                    "UserEmail": 1,
                    "profilepic": 1,
                    "Address.countryFlag": 1,
                    "displayRegion": 1,
                    "settings.privacySettings.blockedUsers": 1,
                    "settings.privacySettings.hidePostUsers": 1
                }
            },          
            {
                $lookup: {
                    from: "userfeeds",
                    localField: "UserEmail",
                    foreignField: "UserEmail",
                    as: "feeds"
                }
            },
            { $unwind : "$feeds"},
            { 
                $match :{
                $and : [{
                        'feeds' :  {UserEmail :{$nin : blockedUsers}},
                        'feeds.feedLikes' : { UserEmail : {$nin : blockedUsers}},
                        'feeds.comments': { UserEmail : {$nin : blockedUsers}},
                        'feeds.comments.replies' : { UserEmail : {$nin : blockedUsers}},
                        'feeds.comments.likes' : { UserEmail : {$nin : blockedUsers}}
                }]
            }
            },
            {
                $lookup: {
                    from: "sharedfeeds",
                    localField: "UserEmail",
                    foreignField: "UserEmail",
                    as: "sharedfeeds"
                }
            },
            { $unwind : "$sharedfeeds"},
            {
                $match : {
                    $and: [{
                        'sharedfeeds' :{ UserEmail : {$nin : blockedUsers}},
                        'sharedfeeds.feedLikes'  : { UserEmail : {$nin : blockedUsers}},
                        'sharedfeeds.comments': { UserEmail : {$nin : blockedUsers}},
                        'sharedfeeds.comments.replies'  : { UserEmail : {$nin : blockedUsers}},
                        'sharedfeeds.comments.likes'  : { UserEmail : {$nin : blockedUsers}}
                    }]
               }
            }
        ]).exec()
    }