Reputation: 23
my backend
Can any one please tell me i have number of users in my mongodb. For example I have 3 users in my database, on that 2 users have reviews and the rest of the one user have no reviews. who have reviews i need to get only that users to frontend. My mongodb structure is:
_id:ObjectId("123") username:"xx" email:"xx" reviews:Array 0:Object
While i am using this below code i am getting all users to frontend.but i need only who have reviews, only that user i need to get to frontend.
//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));
}
})
});
Upvotes: 0
Views: 262
Reputation: 91
You need to add condition in first {} to check whether reviews exists or not {"reviews": {$exists: true}}
//Getting reviews in Users to homepage
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));
}
})
});
Upvotes: 2