2017-02-14 3 views
-1

Ich möchte jeden Monat eine Sicherung meiner Sammlung machen.So sichern Sie eine Mongodb-Sammlung mit express.js und Node.js

Sicherung bedeutet:

ich userdatas Daten nehmen müssen und es in einigen backupuserdatas Sammlung. Alle 1 Monat sollte ein Stapelprogramm automatisch ausgeführt werden und sollte diesen Monat der Daten (Dokumente) in der backupuserdatas Sammlung speichern.

Ich habe Node-Cron für die Ausführung von Batch-Programmen verwendet, aber ich weiß nicht, eine Abfrage für die Sicherung meiner Sammlung jeden Monat zu schreiben.

Wie kann ich dies in Node.js, express.js und mongodb tun?

+0

Wenn Sie sichern möchten, warum immer noch in der gleichen Datenbank speichern? warum nicht einfach in einer Datei speichern? Wie auch immer, Sie planen, den Benutzer zu erlauben, es durch expressjs Rest API zu laden, richtig? – Simon

+0

Datei oder Datenbank, aber ich muss jeden Monat Daten zu speichern, und ich muss diese einen Monat Daten in 'Userdatas' Sammlung –

Antwort

0

können Sie führen Abfrage auf userdatas Tabelle finden und im Inneren als INSERT-Abfrage verwenden, um Daten in backupuserdatas Tabelle einfügen.

Ich weiß, es ist keine gute Lösung, aber für kleine Daten können Sie es verwenden.

Zum Ausführen mehrerer Abfragen im Inneren müssen Sie Async für das Verhalten des Knotens synchronisieren. Hoffe das wird dir helfen.

Sie können es tun, indem Sie folgenden Code in Ihrem Knoten-cron Abschnitt wie folgt aus:

mongoose.users.find({}, function(err, result){ 
    var data = {}; 
    var curr_date = new Date(); 
    data["user_data"] = result; 
    data["created"] = curr_date; 
    var savebackup = new mongoose.backup_user(data); 
    savebackup.save(function(err,res){ 
     // save done 
     mongoose.users.remove({}, function(err, result){}); 
    }); 
}); 

Hier habe ich ein Backup-Tabelle mit dem Namen „backup_user“ und die Benutzertabelle ist „Benutzer“.

Dies speichert alle Benutzerdaten in backup_user Tabelle jedes Mal, wenn Sie Ihre Node-Cron API ausführen.

+0

löschen können Sie mir bitte dafür helfen. Ich verstehe nicht –

+0

Bitte überprüfen Sie die Antwort erneut Ich habe es mit Code aktualisiert. –

+0

nach dem Backup muss ich 'Benutzer' Sammlung Daten löschen, wie kann ich das in Ihrer Abfrage tun. –

Verwandte Themen