Как использовать openUploadStream с корзиной Grid-fs - PullRequest
0 голосов
/ 05 апреля 2019

Я хотел бы использовать модель mongodb с GridFSBucket.

Я понял, что вы можете использовать метаданные с 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 голосов
/ 07 апреля 2019

Я получил его после 3 дней мозгового штурма, gridfs хранит данные в виде .files и .chunks, я не знал, как построить модель для этого, после исследования я понял, что вы можете добавить больше информации в файлы .file, хранящиеся в БД о данных. В Интернете нет ничего о том, как это сделать, только намеки, подобные этому "openUploadStream (имя файла, параметры)", после нескольких часов исследований я, наконец, получил его каким-то образом.

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 в базе данных, метаданные будут заполнены.

...