added flushdb command to both dbs

v1.18.x
Baris Soner Usakli 12 years ago
parent 0471a192ab
commit cfd3a7d126

@ -13,7 +13,6 @@
module.init = function(callback) { module.init = function(callback) {
mongoClient.connect('mongodb://'+ mongoHost + ':' + nconf.get('mongo:port') + '/' + nconf.get('mongo:database'), function(err, _db) { mongoClient.connect('mongodb://'+ mongoHost + ':' + nconf.get('mongo:port') + '/' + nconf.get('mongo:database'), function(err, _db) {
db = _db; db = _db;
console.log('WE ARE CONNECTED');
if(err) { if(err) {
winston.error("NodeBB could not connect to your Mongo database. Mongo returned the following error: " + err.message); winston.error("NodeBB could not connect to your Mongo database. Mongo returned the following error: " + err.message);
@ -44,6 +43,18 @@
// //
// Exported functions // Exported functions
// //
module.flushdb = function(callback) {
db.dropDatabase(function(err, result) {
if(err){
winston.error(error);
return callback(err);
}
callback(null);
});
}
module.getFileName = function(callback) { module.getFileName = function(callback) {
throw new Error('not-implemented'); throw new Error('not-implemented');
} }
@ -63,14 +74,23 @@
module.delete = function(key, callback) { module.delete = function(key, callback) {
db.collection('objects').remove({_key:key}, function(err, result) { db.collection('objects').remove({_key:key}, function(err, result) {
if(err) { if(err) {
return callback(err); if(callback) {
return callback(err);
} else {
return winston.error(err.message);
}
} }
if(result === 0) { if(result === 0) {
db.collection('objects').remove({setName:key}, function(err, result) { db.collection('objects').remove({setName:key}, function(err, result) {
callback(err, result); if(callback) {
callback(err, result);
}
}); });
} else { } else {
callback(null, result); if(callback) {
callback(null, result);
}
} }
}); });
} }
@ -85,15 +105,33 @@
} }
module.keys = function(key, callback) { module.keys = function(key, callback) {
db.collection('objects').find( { _key: { $regex: key /*, $options: 'i'*/ } } ); db.collection('objects').find( { _key: { $regex: key /*, $options: 'i'*/ } }, function(err, result) {
callback(err, result);
});
} }
//hashes //hashes
function removeHiddenFields(item) {
if(item) {
if(item._id) {
delete item._id;
}
if(item._key) {
delete item._key;
}
if(item.setName) {
delete item.setName;
}
}
return item;
}
module.setObject = function(key, data, callback) { module.setObject = function(key, data, callback) {
data['_key'] = key; data['_key'] = key;
db.collection('objects').update({_key:key}, {$set:data}, {upsert:true, w: 1}, function(err, result) { db.collection('objects').update({_key:key}, {$set:data}, {upsert:true, w: 1}, function(err, result) {
callback(err, result); if(callback) {
callback(err, result);
}
}); });
} }
@ -101,15 +139,16 @@
var data = {}; var data = {};
data[field] = value; data[field] = value;
db.collection('objects').update({_key:key}, {$set:data}, {upsert:true, w: 1}, function(err, result) { db.collection('objects').update({_key:key}, {$set:data}, {upsert:true, w: 1}, function(err, result) {
callback(err, result); if(callback) {
callback(err, result);
}
}); });
} }
module.getObject = function(key, callback) { module.getObject = function(key, callback) {
db.collection('objects').findOne({_key:key}, function(err, item) { db.collection('objects').findOne({_key:key}, function(err, item) {
if(item && item._id) { removeHiddenFields(item);
delete item._id;
}
callback(err, item); callback(err, item);
}); });
} }
@ -131,7 +170,8 @@
_fields[fields[i]] = 1; _fields[fields[i]] = 1;
} }
db.collection('objects').findOne({_key:key}, {fields:_fields}, function(err, item) { db.collection('objects').findOne({_key:key}, _fields, function(err, item) {
if(err) { if(err) {
return callback(err); return callback(err);
} }
@ -149,9 +189,8 @@
} }
} }
if(item && item._id) { removeHiddenFields(item);
delete item._id;
}
callback(err, item); callback(err, item);
}); });
} }
@ -186,7 +225,9 @@
var data = {}; var data = {};
data[field] = ""; data[field] = "";
db.collection('objects').update({_key:key}, {$unset : data}, function(err, result) { db.collection('objects').update({_key:key}, {$unset : data}, function(err, result) {
callback(err, result); if(callback) {
callback(err, result);
}
}); });
} }
@ -203,7 +244,9 @@
data[field] = value; data[field] = value;
db.collection('objects').update({_key:key}, {$inc : data}, {upsert:true}, function(err, result) { db.collection('objects').update({_key:key}, {$inc : data}, {upsert:true}, function(err, result) {
module.getObjectField(key, field, function(err, value) { module.getObjectField(key, field, function(err, value) {
callback(err, value); if(callback) {
callback(err, value);
}
}); });
}); });
} }
@ -223,7 +266,9 @@
module.setRemove = function(key, value, callback) { module.setRemove = function(key, value, callback) {
db.collection('objects').remove({setName:key, value:value}, function(err, result) { db.collection('objects').remove({setName:key, value:value}, function(err, result) {
callback(err, result); if(callback) {
callback(err, result);
}
}); });
} }
@ -270,16 +315,24 @@
module.setRemoveRandom = function(key, callback) { module.setRemoveRandom = function(key, callback) {
db.collection('objects').find({setName:key}).toArray(function(err, data) { db.collection('objects').find({setName:key}).toArray(function(err, data) {
if(err) { if(err) {
return callback(err); if(callback) {
return callback(err);
} else {
return winston.error(err.message);
}
} }
if(!data) { if(!data) {
callback(null, 0); if(callback) {
callback(null, 0);
}
} else { } else {
var randomIndex = Math.floor(Math.random() * data.length); var randomIndex = Math.floor(Math.random() * data.length);
var item = data[randomIndex]; var item = data[randomIndex];
module.setRemove(item.setName, item.value, function(err, result) { module.setRemove(item.setName, item.value, function(err, result) {
callback(err, item.value); if(callback) {
callback(err, item.value);
}
}); });
} }
}); });
@ -301,7 +354,9 @@
module.sortedSetRemove = function(key, value, callback) { module.sortedSetRemove = function(key, value, callback) {
db.collection('objects').remove({setName:key, value:value}, function(err, result) { db.collection('objects').remove({setName:key, value:value}, function(err, result) {
callback(err, result); if(callback) {
callback(err, result);
}
}); });
} }
@ -377,11 +432,18 @@
module.listPrepend = function(key, value, callback) { module.listPrepend = function(key, value, callback) {
module.isObjectField(key, 'array', function(err, exists) { module.isObjectField(key, 'array', function(err, exists) {
if(err) { if(err) {
return callback(err); if(callback) {
return callback(err);
} else {
return winston.error(err.message);
}
} }
if(exists) { if(exists) {
db.collection('objects').update({_key:key}, {'$set': {'array.-1': value}}, {upsert:true, w:1 }, function(err, result) { db.collection('objects').update({_key:key}, {'$set': {'array.-1': value}}, {upsert:true, w:1 }, function(err, result) {
callback(err, result); if(callback) {
callback(err, result);
}
}); });
} else { } else {
module.listAppend(key, value, callback); module.listAppend(key, value, callback);
@ -392,7 +454,9 @@
module.listAppend = function(key, value, callback) { module.listAppend = function(key, value, callback) {
db.collection('objects').update({ _key: key }, { $push: { array: value } }, {upsert:true, w:1}, function(err, result) { db.collection('objects').update({ _key: key }, { $push: { array: value } }, {upsert:true, w:1}, function(err, result) {
callback(err, result); if(callback) {
callback(err, result);
}
}); });
} }

@ -64,6 +64,17 @@
// //
// Exported functions // Exported functions
// //
module.flushdb = function(callback) {
redisClient.send_command('flushdb', [], function(err) {
if(err){
winston.error(error);
return callback(err);
}
callback(null);
});
}
module.getFileName = function(callback) { module.getFileName = function(callback) {
var multi = redisClient.multi(); var multi = redisClient.multi();

Loading…
Cancel
Save