|
|
|
@ -14,36 +14,12 @@ mongodb.Collection.prototype.findOne = function findOne(){ |
|
|
|
if(args[0]['_id'] != undefined && args[0]['_id'] != null){ |
|
|
|
var db_name = this.db.databaseName; |
|
|
|
var key = db_name + '.' + args[0]['_id']; |
|
|
|
redisClient.get(key, function(err, results){ |
|
|
|
if(err || !results){ |
|
|
|
args.push(function(err, results){ |
|
|
|
if(!err && results){ |
|
|
|
redisClient.set(key, JSON.stringify(results)); |
|
|
|
} |
|
|
|
callback(err, results); |
|
|
|
}); |
|
|
|
native_findOne.apply(self, args); |
|
|
|
} else{ |
|
|
|
callback(null, JSON.parse(results)); |
|
|
|
} |
|
|
|
}); |
|
|
|
this._handle_findOne(key, args, callback); |
|
|
|
} else if(Object.keys(args[0]).length == 1){ |
|
|
|
var keys = Object.keys(args[0]); |
|
|
|
var db_name = this.db.databaseName; |
|
|
|
var key = db_name + '.' + keys[0] + '.' + args[0][keys[0]]; |
|
|
|
redisClient.get(key, function(err, results){ |
|
|
|
if(err || !results){ |
|
|
|
args.push(function(err, results){ |
|
|
|
if(!err && results){ |
|
|
|
redisClient.set(key, JSON.stringify(results)); |
|
|
|
} |
|
|
|
callback(err, results); |
|
|
|
}); |
|
|
|
native_findOne.apply(self, args); |
|
|
|
} else{ |
|
|
|
callback(null, JSON.parse(results)); |
|
|
|
} |
|
|
|
}); |
|
|
|
this._handle_findOne(key, args, callback); |
|
|
|
} else{ |
|
|
|
native_findOne.apply(this, arguments); |
|
|
|
} |
|
|
|
@ -52,6 +28,23 @@ mongodb.Collection.prototype.findOne = function findOne(){ |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
mongodb.Collection.prototype._handle_findOne = function _handle_findOne(key, args, callback){ |
|
|
|
var redisClient = this.db.serverConfig['_redisClient']; |
|
|
|
redisClient.get(key, function(err, results){ |
|
|
|
if(err || !results){ |
|
|
|
args.push(function(err, results){ |
|
|
|
if(!err && results){ |
|
|
|
redisClient.set(key, JSON.stringify(results)); |
|
|
|
} |
|
|
|
callback(err, results); |
|
|
|
}); |
|
|
|
native_findOne.apply(self, args); |
|
|
|
} else{ |
|
|
|
callback(null, JSON.parse(results)); |
|
|
|
} |
|
|
|
}); |
|
|
|
}; |
|
|
|
|
|
|
|
var native_server = mongodb.Server; |
|
|
|
mongodb.Server = function Server(host, port, options){ |
|
|
|
var options = (options)?options:{}; |
|
|
|
|