2016-03-31 6 views
0

Ich verwende MongoDB und GridFS in NodeJS zum Speichern von Dateien. Wegen einer Anforderung (Dateien sind 1 zu 1 Korrespondenz mit anderen Daten) muss ich Dateien auf der Serverseite nach einer Anfrage von der Clientseite (AngularJS) kopieren/duplizieren. Ich möchte nicht nur die entsprechenden Daten in fs.files sondern auch in fs chunks kopieren und duplizieren und gleichzeitig die Metadaten der Datei aktualisieren. Wie würde ich das tun? Vielen Dank im Voraus.Kopieren/Duplizieren von Dateien in MongoDB, GridFS und NodeJS

Antwort

0

ein Weg zu gehen ist die folgende

  1. einen Dump der Sammlung erforderlich erstellen.
  2. Erstellen Sie einen eindeutigen Index mit der Option dropDups:true

    db.collection ('stopft') ensureIndex. ({Kennung: 1}, {einzigartig: true, dropDups: true})

    dropDups wird entfernen alle doppelten Dokumente.

+0

Vielen Dank für Ihre Antwort. Entschuldigung, aber es scheint, dass meine Frage nicht klar gestellt wurde. Was ich benötige, ist Folgendes: Auf eine Anfrage von der Client-Seite (eckig) sollte die komplette Datei kopiert/dupliziert werden (mit neuen Metadaten, die von der Client-Seite erhalten werden). Übrigens verwende ich gridfs-stream und formidable. Danke noch einmal. PS: Das habe ich gerade in meiner Frage geklärt. – Fluffy

+0

Sie möchten also die Dokumente aktualisieren oder einfügen, ohne die vorhandenen zu berühren, auch wenn es gleich ist? –

+0

In der Tat, ich möchte eine Kopie/Duplikat der Datei in der Datenbank erstellen und nur Metadaten ändern. Ich möchte jedoch nicht nur eine Kopie/ein Duplikat in fs.files erstellen, die auf die ursprünglichen Chunks zeigt, sondern auch die Chunks duplizieren, da die Dateien in Eins-zu-Eins-Übereinstimmung mit anderen Daten stehen und diese gelöscht werden Andere Daten, die entsprechende Datei muss auch gelöscht werden, daher auch die Notwendigkeit, die Datei Chunks zu duplizieren. Danke noch einmal! – Fluffy

Verwandte Themen