定义了所有参数的MongoDB性能

定义了所有参数的MongoDB性能,mongodb,collections,database,Mongodb,Collections,Database,我希望为我的数据库调用创建API,我希望使其尽可能动态,以适应所有模式。 我想我可以这样做: function getUsers(query, projection, options, skip, limit, sort, callback){ db.users.find(query, projection, options).skip(skip).limit(limit).sort(sort).toArray(function (err, res){

我希望为我的数据库调用创建API,我希望使其尽可能动态,以适应所有模式。 我想我可以这样做:

    function getUsers(query, projection, options, skip, limit, sort, callback){
       db.users.find(query, projection, options).skip(skip).limit(limit).sort(sort).toArray(function (err, res){
           callback(err, res);
       }
    }

但是这些值(skip、limit、sort)并不是每次都会使用,所以我会将它们设置为默认值0、-1和{},但它会减慢查询速度吗?

这样做怎么样,不要担心默认值

function getUsers(q, p, o, sk, l, so, c) {
    var cursor = db.users.find(q, p, o);
    if (sk) {
        cursor = cursor.skip(sk);
    }
    if (l) {
        cursor = cursor.limit(limit);
    }
    if (so) {
        cursor = cursor.sort(so);
    }
    return cursor.forEach(function (o) {
            return callback("not sure what to put here", o);
        });
}

至于实际回答关于性能的问题,答案是否定的,如果您在其他参数中插入
null
类型,MongoDB应将其视为默认值,因此忽略它,在没有这些部分的情况下处理查询。

正是我所寻找的,效果很好。谢谢