定义了所有参数的MongoDB性能
我希望为我的数据库调用创建API,我希望使其尽可能动态,以适应所有模式。 我想我可以这样做:定义了所有参数的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){
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应将其视为默认值,因此忽略它,在没有这些部分的情况下处理查询。正是我所寻找的,效果很好。谢谢