我有以下情况。我需要基于某些参数构建猫鼬查询。
也就是说,如果通过这样的对象
{ player: "nickname", action: "capture" }
执行以下搜索:
Entry.find({ player: obj.player, action: obj.action }). exec(function(err, res){ console.log(res); });
如果如果动作不在对象中,则需要从搜索中排除“动作”,该怎么办?像action: (obj.action) ? obj.action:null这样使用三元运算符不起作用,就像在DB中的actionis中搜索条目一样null。
action: (obj.action) ? obj.action:null
action
null
以编程方式建立查询对象:
var query = { player: 'player' }; if (obj.action) { query.action = obj.action; } Entry.find(query).exec(function(err, res){ console.log(res); });