MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Przechowuj dataURL w MongoDB, aby uzyskać do niego dostęp za pośrednictwem lokalnego adresu URL (JS)

Jest to bardzo możliwe i bezpieczne przy użyciu pakietów cfs:standard-packages i cfs:filesystem . Szczerze mówiąc, nie zagłębiłem się w twoje pytanie.

To piękne opakowanie. Możesz przeczytać o powyższych tutaj szczegółowo pakietach .

KOD TWORZENIA KOLEKCJI SYSTEMU PLIKÓW

var imageStore = new FS.Store.FileSystem("YOUR_COLLECTION_NAME");

YOUR_COLLECTION_NAME = new FS.Collection("YOUR_COLLECTION_NAME", {
  stores: [imageStore]
});

W skrócie. Pliki zostaną zapisane u rodzeństwa w bundle/ lokalizacja w cfs/files/YOUR_COLLECTION_NAME . Informacje o pliku zostaną zapisane w kolekcji cfs.YOUR_COLLECTION_NAME.filerecord a tymczasowa lokalizacja będzie używana do celów wewnętrznych z kolekcją cfs._tempstore.chunks jak poniżej.

Jeśli zapiszesz dowolny plik za pomocą powyższego pakietu. Metadane zostaną zapisane w pliku cfs.YOUR_COLLECTION_NAME.filerecord jak poniżej

{
    "_id" : "TBmxbsL2cMCM2tEc7",
    "original" : {
        "name" : "photo.jpg",
        "updatedAt" : ISODate("2017-07-06T12:54:50.115Z"),
        "size" : 2261,
        "type" : "image/jpeg"
    },
    "uploadedAt" : ISODate("2017-07-08T06:58:32.433Z"),
    "copies" : {
        "YOUR_COLLECTION_NAME" : {
            "name" : "photo.jpg",
            "type" : "image/jpeg",
            "size" : 2261,
            "key" : "YOUR_COLLECTION_NAME-TBmxbsL2cMCM2tEc7-photo.jpg",
            "updatedAt" : ISODate("2017-07-08T06:58:32.475Z"),
            "createdAt" : ISODate("2017-07-08T06:58:32.475Z")
        }
    }
}

po stronie Klienta możesz uzyskać link do pliku dokumentu za pomocą

YOUR_COLLECTION_NAME.find({"_id" : "TBmxbsL2cMCM2tEc7"}).url();

Ten adres URL to bezpieczny link do pliku oparty na tokenie, a nie bezpośrednia lokalizacja na serwerze. Możesz ustawić dodatkowe ustawienia zezwalania/odrzucania pobierania i innych rzeczy, tak jak normalne kolekcje. Mam nadzieję, że to pomoże!




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. PyMongo vs MongoEngine dla Django

  2. Przypisz wynik zwrotu z mangusty do zmiennej js węzła

  3. Mongoose wybierz poddokumenty

  4. Uwidaczniać tylko niektóre pola podczas przeglądania określonego elementu za pomocą Spring Data?

  5. Przenieś duże kolekcje MongoDB do data.frame w języku R za pomocą rmongodb i plyr