如何在Grid-fs存储桶中使用openUploadStream

时间:2019-04-05 07:35:11

标签: node.js mongodb mongoose gridfs gridfs-stream

我想在GridFSBucket中使用mongodb模型。

我意识到您可以将元数据与GridFSUploadOptions一起使用,并且在这种情况下,它似乎可以用作模型,但是当我使用它时,出现错误“ TypeError:mongodb.GridFSUploadOptions不是构造函数”

       let bucket = new mongodb.GridFSBucket(conn.db, {
            bucketName: 'tracks'
        });

        let options = new mongodb.GridFSUploadOptions();


        let uploadStream = bucket.openUploadStream(trackName, options.metadata(new Document("Speaker", "Bill Gates").append("Duration", "1hr")));

我希望有一种方法可以将更多用户信息添加到创建的文件中。

1 个答案:

答案 0 :(得分:0)

经过3天的脑力激荡,我得到了它,gridfs将数据存储为.files和.chunks,我不知道如何建立模型,经过研究后,我意识到您可以向存储在.files中的.files添加更多信息。 db关于数据。网上没有关于如何执行此操作的提示,例如“ openUploadStream(filename,options)”,经过几个小时的研究,我终于以某种方式得到了它。

let bucket = new mongodb.GridFSBucket(conn.db, {
            bucketName: 'tracks'
        });

        let uploadStream = bucket.openUploadStream(trackName, {chunkSizeBytes:null, metadata:{speaker: "Bill Gates", duration:"1hr"}, contentType: null, aliases: null});

检查数据库中的.files,元数据将被填充。