Ausführung mongoimport inneren code mit Javascript/Node.js
Gibt es eine Bibliothek zur Verfügung, die in Knoten.js/javascript, ermöglicht eine individuelle Nutzung mongoimport
im code?
Meinem Verständnis, mongoimport ist ein bisschen wie ein .exe-Datei, die Sie ausführen müssen Sie es zuerst, bevor Sie in der Lage zu verwenden, seine text-Eingabe-Umgebung.
Ist es möglich ausführen mongoimport in meinen code, und dann analysieren, was ich brauche Befehle direkt in meinen code?
Meine aktuelle Algorithmus beinhaltet:
fs.appendFile('log.txt',JSON.stringify(obj, null, 2));
obj ist ein Objekt, das angibt, welche Funktionen zu analysieren, in JSON.stringify
mit der res
Methode node.js (die Anfragen, die der HTTP-Antworten)
var obj = {};
obj.url = hostNames[i];
obj.statusCode = res.statusCode;
obj.headers = res.headers;
Dann benutze ich mongoimport zu importieren JSON-Dokument in meine MongoDB.
mongoimport --host localhost -db scrapeapp -collection scrape --file log.txt --jsonArray
Diese Methode ist natürlich ineffizient. Ich möchte alles tun, diese Schritte zu gehen.
Hilfe dankbar
- Haben Sie schaute auf die MongoDB node.js Treiber? Dies ist, was Sie verwenden möchten, wenn Sie sprechen möchte, direkt von einer node.js Dienst MongoDB. Die Dokumentation ist hier: docs.mongodb.org/ecosystem/drivers/node-js
- Zu verlängern, was James sagte, ich glaube, Sie haben etwas von einem mis-Verständnis über das, was mongoimport verwendet wird. Die meisten Ihrer Interaktionen mit mongodb wird auftreten, die über einen Treiber. Der Treiber ermöglicht das einfügen, aktualisieren und löschen von Dokumenten (Objekten), die in Ihrer Datenbank durch eine bestimmte Sprache, in diesem Fall javascript. Mongoimport sollte nicht verwendet werden, für normal-Insertionen in die db, es wird hauptsächlich verwendet, um die Daten zu importieren, die exportiert wurden, aus anderen Quellen, wie in anderen Datenbanken oder Anwendungen.
- Du hast Recht. Ich derzeit habe ein Missverständnis mit dem Einsatz von MongoDB. Ich bin derzeit auf der Schaben-Header von ein paar (tausend) Seiten, die werde ich dann tun Analyse in ein paar Monaten. Ich ändere meine-Algorithmus zu tun, eine insert () - header durch den header, anstatt einen import. Was denkst du? db.kratzen.insert(JSON.stringify(obj,null,2));
- Ja, Sie tun müssen einfügen 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist, wie ich es in meinem code
Ich exec die mongoimport Befehl und dann Mach ich pass die cb weiter, den code zu erreichen, oder wenn Sie nicht verwenden eine asynchrone Stil, die Sie tun können synchron mit
child_process.execSync(command[,options])
Ich bin in keiner Weise ein Knoten-Experte - aber wenn du vorhandene JSON-Dateien, die Sie ausführen könnte mongoimport in Knoten als shell-Befehl, wie beschrieben, hier oder in verschiedenen Antworten.
mongoimport
in JavaScript statt der mongo-shell.