Wie kann ich Bilder in einer MongoDB-Datenbank speichern und nicht nur Text? Kann ich ein Array von Bildern in einer MongoDB-Datenbank erstellen? Wird es möglich sein, dasselbe für Videos zu tun?
GridFS ist für Dokumente> 16 MB. Nicht alle Binärdaten sind so groß. Gibt es neben der Möglichkeit, diese Grenze zu überschreiten, noch andere Vorteile bei der Verwendung von GridFS anstelle nur des BinData-Typs?
Brandon Fitzpatrick
3
Videos sind in der Regel> 16 MB groß, daher ist diese Antwort wahrscheinlich vernünftig. Sollte dies vielleicht erwähnen.
Chanoch
1
eine andere Lösung, anstatt GridFS zu verwenden?
Abhishek Mani
1
@AbhishekMani Die andere Lösung besteht darin, sie überhaupt nicht in MongoDB zu speichern. Jetzt, im Jahr 2018, ist es unendlich einfacher, diese Daten in etwas wie den S3- oder Azure BLOB-Speicher von Amazon zu schreiben.
MongoDB BSON-Dokumente sind auf 16 MB begrenzt. Wenn die Gesamtgröße Ihres Array von Dateien geringer ist, können Sie sie mit dem Datentyp BinData direkt in Ihrem Dokument speichern .
Videos, Bilder, PDFs, Tabellenkalkulationen usw. - es spielt keine Rolle, sie werden alle gleich behandelt. Es liegt an Ihrer Anwendung, einen geeigneten Inhaltstyp-Header zurückzugeben, um sie anzuzeigen.
Auf NPM ist ein Mungo-Plugin namens Mungo-Datei verfügbar. Sie können einem Mungo-Schema ein Dateifeld zum Hochladen von Dateien hinzufügen. Ich habe es nie benutzt, aber es könnte sich als nützlich erweisen. Wenn die Bilder sehr klein sind, können Sie sie von Base64 codieren und die Zeichenfolge in der Datenbank speichern.
Sie können den Datentyp bin verwenden, wenn Sie eine Skriptsprache zum Speichern von Dateien / Bildern in MongoDB verwenden. Bin-Daten wurden entwickelt, um kleine Dateien zu speichern.
Informationen hierzu finden Sie in Ihrem Skript-Sprachtreiber. Für PHP klicken Sie hier .
base64
. Siehe stackoverflow.com/questions/11442356 Ich habe auch menge.io/2015/03/24/storing-small-images-in- gefunden . Mongodb ein sehr guter Ausgangspunkt.Antworten:
Weitere Informationen zum Speichern solcher Binärdaten finden Sie in den GridFS- Dokumenten.
Die Unterstützung für Ihre spezifische Sprache sollte am unteren Bildschirmrand verlinkt sein.
quelle
MongoDB BSON-Dokumente sind auf 16 MB begrenzt. Wenn die Gesamtgröße Ihres Array von Dateien geringer ist, können Sie sie mit dem Datentyp BinData direkt in Ihrem Dokument speichern .
Videos, Bilder, PDFs, Tabellenkalkulationen usw. - es spielt keine Rolle, sie werden alle gleich behandelt. Es liegt an Ihrer Anwendung, einen geeigneten Inhaltstyp-Header zurückzugeben, um sie anzuzeigen.
Weitere Informationen finden Sie in der GridFS-Dokumentation .
quelle
Sie können dieses versuchen:
quelle
http://blog.mongodb.org/post/183689081/storing-large-objects-and-files-in-mongodb
Auf NPM ist ein Mungo-Plugin namens Mungo-Datei verfügbar. Sie können einem Mungo-Schema ein Dateifeld zum Hochladen von Dateien hinzufügen. Ich habe es nie benutzt, aber es könnte sich als nützlich erweisen. Wenn die Bilder sehr klein sind, können Sie sie von Base64 codieren und die Zeichenfolge in der Datenbank speichern.
Speichern einiger kleiner (unter 1 MB) Dateien mit MongoDB in NodeJS WITHOUT GridFS
quelle
Sie können den Datentyp bin verwenden, wenn Sie eine Skriptsprache zum Speichern von Dateien / Bildern in MongoDB verwenden. Bin-Daten wurden entwickelt, um kleine Dateien zu speichern.
Informationen hierzu finden Sie in Ihrem Skript-Sprachtreiber. Für PHP klicken Sie hier .
quelle
Installieren Sie die folgenden Bibliotheken
verbinde ur mongo db:
Datenbankschema definieren
Verwenden Sie die Middleware Multer, um das Foto auf die Serverseite hochzuladen.
post req an unsere db
quelle
Aus Ihrer Sicht:
Mit diesem Code können Sie sowohl einzelne als auch mehrere Bilder in MongoDB hinzufügen.
quelle
Das hat bei mir funktioniert,
quelle