sql >> Databasteknik >  >> NoSQL >> MongoDB

Lagra en dataURL i MongoDB för att komma åt den via lokal URL (JS)

Detta är mycket möjligt och på ett säkert sätt med paketen cfs:standard-packages och cfs:filesystem . Ärligt talat gick jag inte på djupet för din fråga.

Det är ett vackert paket. Du kan läsa om ovan här paket på djupet .

KOD FÖR ATT SKAPA FILSYSTEMSAMLING

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

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

Kortfattat. Filerna kommer att sparas hos syskonen till bundle/ plats på cfs/files/YOUR_COLLECTION_NAME . Information om filen kommer att sparas i samlingen cfs.YOUR_COLLECTION_NAME.filerecord och tillfällig plats kommer att användas för internt syfte med samling cfs._tempstore.chunks som nedan.

Om du sparar någon fil med ovanstående paket. Metadata kommer att sparas i cfs.YOUR_COLLECTION_NAME.filerecord som nedan

{
    "_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å klientsidan kan du få länken till dokumentfilen med

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

Den här webbadressen är tokenbaserad säker länk till filen istället för direkt plats till din server. Du kan ställa in ytterligare tillåt/neka inställningar för nedladdning och saker precis som vanliga samlingar. Hoppas detta hjälper!




  1. PyMongo missköter sig med flyttal

  2. MongoDb upsert undantag ogiltigt BSON-fält

  3. Hur ställer jag in serialiseringsalternativen för geo-värdena med den officiella 10gen C#-drivrutinen?

  4. Hitta duplikat inuti array utan $unwind