从代码中可以看出,如果没有定义param,我将通过查询未定义的变量来返回所有用户。这样做是否可以接受,或者是否有一些我看不到的缺点?
get: function(param, callback){
var query;
if (param) {
query = {username: param}
}
User.find(query, (err, result) => {
if (err) {
callback(err, null);
return;
}
callback(null, result);
});
}
答案 0 :(得分:0)
从the source可以看出,mongoose会为你解决这个问题:
Model.find = function find(conditions, projection, options, callback) {
if (typeof conditions === 'function') {
callback = conditions;
conditions = {};
所以,你可以传递未完成的conditions
正如评论中所建议的那样,我会改为:
var query = {}
所以你总是传递一个空物体。