2013-03-20 2 views
0

привета Я performin делеции моей БД на основе time.I я использую хроны, чтобы установить время и удалить db.Below это кодколлекция не получает удалена в MongoDB

var cronJob = require('cron').CronJob; 
new cronJob('* * * * *', function(){// set the required time 
    console.log('inside cron'); 
    console.log(new Date()); 
    console.log('You will see this message every minute'); 
    dbDatadeletion(); 
}, null, true); 

//This function performs the required operations after a particular time 
function dbDatadeletion(){ 
    var mongoose = require('mongoose'); 
    var db1 = mongoose.createConnection('mongodb://localhost/CDB'); 

    db1.on('error', console.error.bind(console, 'connection error:')); 
    db1.once('open', function callback(){ 
    console.log('Database connectivity established...\n'); 
    var schema = new mongoose.Schema({ USER_ID:String, APIKEY:String, SERVICE_ORCH_NAME:String, COLLATED_DATA:String }); 
    var C_DATA_STORE = db1.model('C_DATA_STORE', schema); 
    var query = C_DATA_STORE.find(); 

    console.log('Query Operation is being performed...'); 
    query.select('COLLATED_DATA SERVICE_ORCH_NAME'); 
    query.exec(function (err, data) { 
     if (err) return handleError(err); 
     console.log('Before Deletion'); 
     console.log(data[0]); 
     db1.C_DATA_STORE.remove(); 
     console.log('After Deletion'); 
     console.log(data[0]); 
    }); 
    }); 
} 

Когда я бегу приведенный выше код я не могу удалить мой collection.Below это сообщение об ошибке

TypeError: Cannot call method 'remove' of undefined 

Любая идея, как решить эту проблему будет очень полезным

+0

Она пути, что 'db1.C_DATA_STORE' не определен , Не должно быть 'C_DATA_STORE.remove();'? –

+0

Я думаю, что это ошибка JavaScript. Смотрите, что C_DATA_STORE не является нулевым. Alert (C_DATA_STORE) –

+0

C_DATA_STORE.remove() не удаляет коллекцию. И C_DATA_STORE не является нулевым –

ответ

2

чтобы удалить все документы из коллекции:

C_DATA_STORE.remove(callback) 

Чтобы удалить коллекцию, используйте метод драйвера:

C_DATA_STORE.collection.drop(callback) 

Чтобы удалить базу данных, использовать метод драйвера:

db1.db.dropDatabase(callback) 
Смежные вопросы