Node.js 如何获取特定的用户数组(mongodb、nodejs)
我的后端 谁能告诉我我的mongodb中有多少用户。例如,我的数据库中有3个用户,其中2个用户有评论,另一个用户没有评论。谁有评论我只需要让用户到前端。我的mongodb结构是: _id:ObjectId(“123”) 用户名:“xx” 电子邮件:“xx” 评论:数组 0:对象 当我使用下面的代码时,我会让所有用户进入前端。但我只需要有评论的用户,我只需要那个用户进入前端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
//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对象。不要直接使用集合