2016-12-05 5 views
1

Drei Fragen zu WiredTiger-Speicher und MongoDB.WiredTiger, GridFS und Mongodb Upload-Datei und maximale Dateigröße

  1. ich speichern müssen (binäre) Dateien in der DB, die 16 MB Größe überschreiten, jetzt lese ich auf WiredTiger Website, die die maximale Dateigröße 512 MB ist, aber auf MongoDB insert Methode heißt es, dass die maximale Größe alle Dokumente sollten 16 MB groß sein, kann ich also Dateien speichern, die größer als 16 MB sind, während WiredTiger verwendet wird?

  2. Ich brauche eine vollständige Datei und nicht Teile davon (wie Streaming Teile eines Videos), ist es möglich, mit GridFS zu tun?

  3. Wie kann ich Dateien in der DB einfügen und finden? Ich kann keine Anleitung finden, wie man es mit WiredTiger macht ...

    Muss ich es aus der Mongoshell oder Mongofiles tun? Gibt es eine Möglichkeit, dies programmgesteuert mit node.js zu tun?

Antwort

1

1) GridFS sollte für Dateien, die größer als 16 MB verwendet werden: GridFS is a specification for storing and retrieving files that exceed the BSON-document size limit of 16 MB.

EDIT: prüfen this answer für GridFS Grenzen.

2) auf dem Einsatz Abfrage GridFS divides a file into chunks. When you query GridFS for a file, the driver will reassemble the chunks as needed.

3) unter Verwendung von Abfragen GridFS WiredTiger oder anderen Motor (MMAPv1) ist für den Benutzer transparent. Dateien können mit den Treibermethoden info here abgefragt werden.

+0

In der API-Beispiel für GridFS, verwenden sie einen Stream für die Datei, kann ich sicher davon ausgehen, dass es eine vollständige zusammengestellte Datei und nicht Teile davon senden? – shinzou

+0

Natürlich erledigt der Fahrer das transparent für Sie. – sergiuz

+0

wo finden Sie Dokumente, die Sie unterstützen, sollten Sie keine Dateien mit weniger als 16 MB auf gridfs speichern ?? Es heißt, wenn Ihre Dateien größer als 16 MB sind, sollten Sie ** Gridfs verwenden **! aber für weniger als das ** HABEN ** die Option, Sammlungen zu verwenden! –

Verwandte Themen