Gibt es in node.js/javascript eine Bibliothek, die es einer Person ermöglicht, mongoimport
im Code zu verwenden?Ausführen von mongoimport innerhalb von Code mit Javascript/Node.js
Nach meinem Verständnis ist mongoimport irgendwie wie eine .exe, die Sie zuerst ausführen müssen, bevor Sie in der Lage sind, seine Texteingabeumgebung zu verwenden.
Ist es möglich, mongoimport in meinem Code auszuführen und dann alle benötigten Befehle direkt in meinem Code zu parsen?
My aktuellen Algorithmus beinhaltet:
fs.appendFile('log.txt',JSON.stringify(obj, null, 2));
obj ein Objekt ist, das, was Funktionen in JSON.stringify
mit der Methode der res
node.js parsen angibt (die HTTP-Antworten anfordert)
var obj = {};
obj.url = hostNames[i];
obj.statusCode = res.statusCode;
obj.headers = res.headers;
dann Ich benutze Mongoimport, um dieses JSON-Dokument in meine MongoDB zu importieren.
mongoimport --host localhost -db scrapeapp -collection scrape --file log.txt --jsonArray
Diese Methode ist offensichtlich ineffizient. Ich würde gerne alle diese Schritte auf einmal machen.
Hilfe geschätzt
Haben Sie den MongoDB node.js Treiber angeschaut? Dies ist das, was Sie verwenden möchten, wenn Sie direkt von einem node.js-Dienst zu MongoDB sprechen möchten. Dokumentation ist hier: http://docs.mongodb.org/ecosystem/drivers/node-js/ –
Um zu erweitern, was James gesagt hat, denke ich, du hast ein falsches Verständnis darüber, wofür mongoimport verwendet wird. Die meisten Ihrer Interaktionen mit mongodb werden über einen Treiber erfolgen. Der Treiber ermöglicht das Einfügen, Aktualisieren und Löschen von Dokumenten (Objekten) in Ihrer Datenbank über eine bestimmte Sprache, in diesem Fall Javascript. Mongoimport sollte nicht für normale Einfügungen in Ihrer Datenbank verwendet werden. Es wird hauptsächlich zum Importieren von Daten verwendet, die aus anderen Quellen exportiert wurden, wie z. B. andere Datenbanken oder Anwendungen. – ACE
Sie haben Recht. Ich habe derzeit ein Missverständnis mit der Verwendung von MongoDB. Ich kratze derzeit Kopfzeilen von ein paar (tausend) Websites, die ich dann Analyse in ein paar Monaten Zeit tun werde. Ich werde meinen Algorithmus ändern, um einen insert() Header nach Header zu machen, anstatt einen Import durchzuführen. Was denken Sie? db.scrape.insert (JSON.stringify (obj, null, 2)); – theGreenCabbage