Mongoose parámetros de consulta de búsqueda opcionales?

Tengo una situación siguiente. Necesito crear una consulta de mongoose, basada en ciertos argumentos, si están presentes.

Es decir, si se pasa un objeto como este

{ player: "nickname", action: "capture" } 

la siguiente búsqueda se realiza:

 Entry.find({ player: obj.player, action: obj.action }). exec(function(err, res){ console.log(res); }); 

Si necesito excluir “acción” de la búsqueda si la acción no está en el objeto, ¿qué debo hacer? Usando una action: (obj.action) ? obj.action:null similar a la del operador ternario action: (obj.action) ? obj.action:null action: (obj.action) ? obj.action:null no funciona, al igual que las entradas de búsqueda en DB donde la action es null .

Desarrolle su objeto de consulta mediante progtwigción:

 var query = { player: 'player' }; if (obj.action) { query.action = obj.action; } Entry.find(query).exec(function(err, res){ console.log(res); }); 

En caso de que alguien encuentre la misma pregunta, así es como lo resolví:

 var query = { player: 'player' }; Entry.find({ player: query.player, action: (query.action) ? query.action:/.*/ }). exec(function(err, res){ console.log(res); });