我有2个系列 - 比赛和产品。竞赛包含产品objectID
,产品包含competition_status
。
我要做的只是展示其产品competition_status
为“完成”或“当前”的比赛。
我已经实现了这一点,但是,我也看到了具有“待定”状态的比赛,只有这两个产品对象为空。我不知何故需要将这些比赛从输出的比赛对象中删除。
api.mongo.competition.find(filter)
.populate('product', 'name competition_status', { competition_status: { $in: ['Complete', 'Current'] } })
.exec(
function(err, competitions) {
if(err) {
next(err, {});
return;
}
next(err, competitions);
});
答案 0 :(得分:0)
尝试使用
{ competition_status: { $nin: ['Pending'] }
而不是
{ competition_status: { $in: ['Complete', 'Current'] }
您可以在此处获取更多信息$nin
来自populate as join的populate不是一个连接,它只是一个便利函数,用于跟踪主查询和其他查询以从其他集合中提取相关数据。你需要
{ competition_status: { $in: ['Complete', 'Current'] }
in
mongo.competition.find()