sql >> Databáze >  >> NoSQL >> MongoDB

Uložte dataURL v MongoDB, abyste k nim měli přístup prostřednictvím místní adresy URL (JS)

To je velmi možné a bezpečným způsobem pomocí balíčků cfs:standard-packages a cfs:filesystem . Upřímně řečeno, nešel jsem do hloubky vaší otázky.

Je to krásný balíček. O balíčcích výše si můžete přečíst zde podrobně .

KÓD PRO VYTVOŘENÍ KOLEKCE SYSTÉMU SOUBORŮ

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

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

Ve zkratce. Soubory budou uloženy u sourozence do bundle/ umístění na cfs/files/YOUR_COLLECTION_NAME . Informace o souboru budou uloženy ve sbírce cfs.YOUR_COLLECTION_NAME.filerecord a dočasné umístění bude použito pro interní účely s kolekcí cfs._tempstore.chunks jak je uvedeno níže.

Pokud uložíte jakýkoli soubor pomocí výše uvedeného balíčku. Metadata budou uložena do cfs.YOUR_COLLECTION_NAME.filerecord jak je uvedeno níže

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

na straně klienta můžete získat odkaz na soubor dokumentu pomocí

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

Tato adresa URL je bezpečný odkaz na soubor na základě tokenu, nikoli přímé umístění na váš server. Můžete nastavit další povolení/zakázat nastavení pro stahování a věci stejně jako běžné sbírky. Doufám, že to pomůže!




  1. Mongodb $lookup Nefunguje s _id

  2. Zesměšňující model Mongoose s žertem

  3. MongoDB $ ln

  4. Mongo db s Monkem:zachycení chyb a zpracování, pokud je db mimo provoz