Javascript Mongoosejs或带有objectid的语句
我正在查询我的团队架构并获取一个id数组。我已经验证了Javascript Mongoosejs或带有objectid的语句,javascript,node.js,express,mongoose,Javascript,Node.js,Express,Mongoose,我正在查询我的团队架构并获取一个id数组。我已经验证了teamIds是一个包含正确id的数组。在我的或语句中,主队和客队都是团队架构的ObjectID。我觉得我的问题与以下事实有关:主队和客队都是ObjectID Team.find({ 'conference.name': confName }).select('_id').exec(function(err, results) { var teamIds = _.pluck(results, '_id'); conso
teamIds
是一个包含正确id的数组。在我的或语句中,主队
和客队
都是团队架构的ObjectID。我觉得我的问题与以下事实有关:主队
和客队
都是ObjectID
Team.find({
'conference.name': confName
}).select('_id').exec(function(err, results) {
var teamIds = _.pluck(results, '_id');
console.log(teamIds);
finding = Game.find().or([
{'home_team': { $in: teamIds }},
{'away_team': { $in: teamIds }}
]);
finding.exec(function(err, models) {
// An error occurred
if (err) return res.send(err, 500);
// No models found
if (!models) return res.send(404);
console.log(models);
});
});
这个查询不起作用,我不知道我做错了什么 这个答案主要基于文档,而不是实验。似乎mongoose或
函数使用了该查询,并使用附加子句将其包装到or语句中。在您的情况下,您将搜索“所有”或主客场球队中存在的标识符。它应该在主队或客队,因此建议手动编写:
Game.find({$or: [
{'home_team': {$in: teamIds}},
{'away_team': {$in: teamIds}}
]}, function(err, models) {
// An error occurred
if (err) return res.send(err, 500);
// No models found
if (!models) return res.send(404);
console.log(models);
});
什么是查找
,更具体地说是查找。或
?@RoelvanUden进行了更新,使其更有意义。