Najlepszy samouczek MongoDB GridFS W 2024 r. W tym samouczku możesz dowiedzieć się GridFS Dodaj plik,
GridFS do przechowywania i przywracania osób powyżej 16M (limit plików BSON) plików (takich jak: zdjęcia, audio, wideo, itp.)
Jednym ze sposobów jest GridFS przechowywania plików, ale jest w kolekcja jest przechowywana w MonoDB.
GridFS lepszą pamięć niż dokumenty 16M.
GridFS będzie skierowany dużych plików na kilka mniejszych bryłkach (plik fragment), zazwyczaj 256K /, po jednej dla każdego kawałka jako dokument MongoDB (dokument) znajduje się w kolekcji kawałki.
GridFS dwóch kolekcji do przechowywania plik: fs.files i fs.chunks.
Rzeczywista zawartość każdego pliku przechowywane są w kawałkach (dane binarne) dane meta i dokumentów odnoszących się do (nazwa pliku, content_type, jak i atrybutów zdefiniowanych przez użytkownika) zostanie ono zapisane w plikach w kolekcji.
Poniżej znajduje się zbiór prostych fs.files dokumentów:
{ "filename": "test.txt", "chunkSize": NumberInt(261120), "uploadDate": ISODate("2014-04-13T11:32:33.557Z"), "md5": "7b762939321e146569b07f72c62cca4f", "length": NumberInt(646) }
Poniżej znajduje się zbiór prostych fs.chunks dokumentów:
{ "files_id": ObjectId("534a75d19f54bfec8a2fe44b"), "n": NumberInt(0), "data": "Mongo Binary Data" }
Teraz używamy GridFS poleceń put do przechowywania plików mp3. Zadzwoń MongoDB katalogu instalacyjnego bin mongofiles.exe narzędzia.
Otwórz wiersz polecenia, przejdź do katalogu bin MongoDB katalogu instalacyjnym zlokalizuj mongofiles.exe i wprowadź następujący kod:
>mongofiles.exe -d gridfs put song.mp3
GridFS to nazwa pliku danych jest przechowywana. Jeśli baza danych nie istnieje, MongoDB zostanie utworzony automatycznie. Piosenka.mp3 jest audio nazwa pliku.
Użyj następujących poleceń do przeglądania dokumentów w pliku bazy danych:
>db.fs.files.find()
Po wykonaniu powyższego polecenia zwraca następujące dane dokumentu:
{ _id: ObjectId('534a811bf8b4aa4d33fdf94d'), filename: "song.mp3", chunkSize: 261120, uploadDate: new Date(1397391643474), md5: "e4f53379c909f7bed2e9d631e15c1c41", length: 10401959 }
Widzimy wszystkie bloki fs.chunks zestawu, otrzymujemy następujące wartości _id dokument, możemy uzyskać bloku (chunk) danych zgodnie z niniejszą _id:
>db.fs.chunks.find({files_id:ObjectId('534a811bf8b4aa4d33fdf94d')})
Powyższy przykład, kwerenda zwraca dane 40 dokumentu, co oznacza, że pliki mp3 są przechowywane w 40 blokach.