如何使用猫鼬过滤函数中的对象?
Posted
技术标签:
【中文标题】如何使用猫鼬过滤函数中的对象?【英文标题】:How do I filter objects in my function using mongoose? 【发布时间】:2018-02-15 03:08:00 【问题描述】:我只想提取对我的 req.user === foundListing.uid 的用户唯一的数据。如何调整此功能以仅显示这些对象?
function show(req, res)
db.User.findById(req.user, function (err, user)
console.log(req.user)
if (err) console.log(err);
db.Listing.findById(req.params.listingId, function(err, foundListing)
console.log(foundListing.uid );
if(err) console.log('listingsController.show error', err);
res.json(foundListing);
);
)
【问题讨论】:
为什么先选择user
,然后再选择listings
?如果listings
与user
相关,则只能创建一个请求,否则不需要此选择。
【参考方案1】:
使用find()。
function show(req, res)
db.User.findById(req.user, function (err, user)
console.log(req.user)
if (err) console.log(err);
db.Listing.find( uid: req.user , function(err, listings)
console.log(listings);
if(err) console.log('listingsController.show error', err);
res.json(listings);
);
)
不知道能不能直接用req.user
。通常,我使用req.user._id
。
【讨论】:
@KennethVo 它也只与req.user
一起工作? (我假设 req.user
是一个对象而不是一个 ID。)
是的,它与req.user
一起工作。正在关注卫星发射器教程,这就是它的设置方式,所以我猜它实际上是一个对象。
@KennethVo 很有趣。我们今天都学到了一些新东西。请将您的问题标记为已回答。以上是关于如何使用猫鼬过滤函数中的对象?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Angular 中为嵌套的 JSON 对象使用搜索过滤器?