Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/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 如何获取特定的用户数组(mongodb、nodejs)_Node.js_Mongodb - Fatal编程技术网

Node.js 如何获取特定的用户数组(mongodb、nodejs)

Node.js 如何获取特定的用户数组(mongodb、nodejs),node.js,mongodb,Node.js,Mongodb,我的后端 谁能告诉我我的mongodb中有多少用户。例如,我的数据库中有3个用户,其中2个用户有评论,另一个用户没有评论。谁有评论我只需要让用户到前端。我的mongodb结构是: _id:ObjectId(“123”) 用户名:“xx” 电子邮件:“xx” 评论:数组 0:对象 当我使用下面的代码时,我会让所有用户进入前端。但我只需要有评论的用户,我只需要那个用户进入前端 //Getting reviews in Users to homepage userRouter.post('/get

我的后端

谁能告诉我我的mongodb中有多少用户。例如,我的数据库中有3个用户,其中2个用户有评论,另一个用户没有评论。谁有评论我只需要让用户到前端。我的mongodb结构是:

_id:ObjectId(“123”) 用户名:“xx” 电子邮件:“xx” 评论:数组 0:对象

当我使用下面的代码时,我会让所有用户进入前端。但我只需要有评论的用户,我只需要那个用户进入前端

//Getting reviews in Users to homepage
  userRouter.post('/getreviews', (req, res) => {
    Collections.user.find({}, {"reviews":1,"username":1},  function (err, result) {
    if (result) {
      //    console.log(result);
  res.status(200).json({users:result.map((user) => user.reviews)});
    } else {
   res.status(500).send("User Not Found with Details: " + JSON.stringify(user));
    }
    })
    });

您需要在第一个{}中添加条件来检查审查是否存在 {“评论”:{$exists:true}}

//将用户中的评论添加到主页

 userRouter.post('/getreviews', (req, res) => {
    Collections.user.find({"reviews": {$exists: true}}, {"reviews":1,"username":1},  function (err, result) {
    if (result) {
      //    console.log(result);
  res.status(200).json({users:result.map((user) => user.reviews)});
    } else {
   res.status(500).send("User Not Found with Details: " + JSON.stringify(user));
    }
    })
    });

您需要在第一个{}中添加条件来检查审查是否存在 {“评论”:{$exists:true}}

//将用户中的评论添加到主页

 userRouter.post('/getreviews', (req, res) => {
    Collections.user.find({"reviews": {$exists: true}}, {"reviews":1,"username":1},  function (err, result) {
    if (result) {
      //    console.log(result);
  res.status(200).json({users:result.map((user) => user.reviews)});
    } else {
   res.status(500).send("User Not Found with Details: " + JSON.stringify(user));
    }
    })
    });

评论正在进入控制台。但是如果它是一个空数组,我不需要获取该用户。但现在我得到的所有评论要么是空的,要么是有数据的,显示在控制台中。只有一个用户有评论,其余两个用户没有评论。但控制台显示了三个用户。我只需要阵列(1)用户。我的控制台..---------->用户:(3)[Array(1),Array(0),Array(0)]您可以尝试这个连接。collection('user',function(error,collection){if(error){//console.log(error);return;}else{collection.find({“reviews”:{$exists:true}},{“reviews”:1,username:1})。toArray(function(error,results){debug(results); }); } });userRouter.post('/getreviews',(req,res)=>{Collections('user',function(error,collection){if(error){//console.log(error);return;}else{collection.find({“reviews”):{$exists:true},{“reviews”:1,“username”:1})。toArray(function(error,results){debug(results);}});}})。。。。我是这样写的。但它表明collection不是functionconnection。collection()连接对象是您的mongoDb CoinConnection对象不要使用collection directlyReviews正在进入控制台。但是如果它是一个空数组,我不需要获取该用户。但现在我得到的所有评论要么是空的,要么是有数据的,显示在控制台中。只有一个用户有评论,其余两个用户没有评论。但控制台显示了三个用户。我只需要阵列(1)用户。我的控制台..---------->用户:(3)[Array(1),Array(0),Array(0)]您可以尝试这个连接。collection('user',function(error,collection){if(error){//console.log(error);return;}else{collection.find({“reviews”:{$exists:true}},{“reviews”:1,username:1})。toArray(function(error,results){debug(results); }); } });userRouter.post('/getreviews',(req,res)=>{Collections('user',function(error,collection){if(error){//console.log(error);return;}else{collection.find({“reviews”):{$exists:true},{“reviews”:1,“username”:1})。toArray(function(error,results){debug(results);}});}})。。。。我是这样写的。但它表明集合不是functionconnection。collection()连接对象是您的mongoDb CoinConnection对象。不要直接使用集合