sql >> Database teknologi >  >> NoSQL >> MongoDB

Gem en dataURL i MongoDB for at få adgang til den via lokal URL (JS)

Dette er meget muligt og på en sikker måde ved at bruge pakker cfs:standard-packages og cfs:filesystem . Helt ærligt gik jeg ikke i dybden med dit spørgsmål.

Det er en smuk pakke. Du kan læse om ovenstående her pakker i dybden .

KODE TIL AT OPRETTE FILSYSTEMSAMLING

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

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

Kort sagt. Filerne vil blive gemt hos søskende til bundle/ placering ved cfs/files/YOUR_COLLECTION_NAME . Oplysninger om filen vil blive gemt i samlingen cfs.YOUR_COLLECTION_NAME.filerecord og midlertidig placering vil blive brugt til interne formål med samling cfs._tempstore.chunks som nedenfor.

Hvis du gemmer en fil ved hjælp af ovenstående pakke. Metadataene vil blive gemt i cfs.YOUR_COLLECTION_NAME.filerecord som nedenfor

{
    "_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")
        }
    }
}

på klientsiden kan du få linket til dokumentfilen ved hjælp af

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

Denne url er token-baseret sikkert link til filen i stedet for direkte placering til din server. Du kan indstille yderligere tillad/afvis indstillinger for download og ting ligesom normale samlinger. Håber dette hjælper!




  1. Hvordan får man alle nøgler, der matcher et bestemt mønster, fra en hash i redis?

  2. Sådan gør du:Inkluder tredjepartsbiblioteker i dit MapReduce-job

  3. Fejl:data og saltargumenter påkrævet

  4. Hvordan finder man ind i mongodb til det sidste element i et array?