sql >> データベース >  >> NoSQL >> MongoDB

dataURLをMongoDBに保存して、ローカルURL(JS)経由でアクセスします

    これは非常に可能であり、パッケージcfs:standard-packagesを使用して安全な方法で行われます。 およびcfs:filesystem 。率直に言って、私はあなたの質問について深く掘り下げませんでした。

    綺麗なパッケージです。上記のパッケージの詳細 について読むことができます。 。

    ファイルシステムコレクションを作成するためのコード

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

    要するに。ファイルは兄弟でbundle/に保存されます cfs/files/YOUR_COLLECTION_NAMEの場所 。ファイルに関する情報は、コレクションcfs.YOUR_COLLECTION_NAME.filerecordに保存されます。 一時的な場所は、コレクションcfs._tempstore.chunksで内部目的に使用されます 以下のように。

    上記のパッケージを使用してファイルを保存する場合。メタデータはcfs.YOUR_COLLECTION_NAME.filerecord内に保存されます 以下のように

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

    クライアント側では、

    を使用してドキュメントファイルへのリンクを取得できます

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

    このURLは、サーバーへの直接の場所ではなく、ファイルへのトークンベースの安全なリンクです。通常のコレクションと同じように、ダウンロードやコンテンツの追加の許可/拒否設定を設定できます。これがお役に立てば幸いです!




    1. Apache HBaseレプリケーション:操作の概要

    2. AWS DocumentDBは、単一のクエリで3つ以上のコレクションを結合することをサポートしていますか?

    3. Spring Data MongoDB:プロジェクションとアグリゲーション

    4. 国でフィルタリングし、マングースを使用してmongodbをフリーテキスト検索します