MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Закъсал при промяна на двоични данни към base64 (Gridfs-stream)

Също така търся решение за четене на изображението от gridfs и използвам grid-fs strem

това е решението, което намерих, надявам се, че е полезно за вас.

// настройка на gridfs

import mongoose from 'mongoose';
import Grid from 'gridfs-stream';

const db = mongoose.connection.db;
const mongoDriver = mongoose.mongo;
const gfs = new Grid(db, mongoDriver);

// запис на изображението в mongo

const writeStream = gfs.createWriteStream({
  filename: 'test.png',
  content_type: 'image/png',
});
fs.createReadStream(filePath).pipe(writeStream);

writeStream.on('close', (gfsFile) => {
  // remove the original file
  fs.unlink('test.png');
  // this is the information, and _id is the id 
  console.log(gfsFile);
});

// прочете изображението на mongo

const readstream = gfs.createReadStream({
  _id: id,
});

const bufs = [];
readstream.on('data', function (chunk) {
  bufs.push(chunk);
});
readstream.on('end', function () {
  const fbuf = Buffer.concat(bufs);
  const base64 = fbuf.toString('base64');
  console.log(base64);
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Преглед на MongoDB Atlas:Част първа

  2. Автоматично уплътняване на изтритото пространство в mongodb?

  3. mongoDB добавя специфични данни към db Replica

  4. Най-добрият начин за моделиране на система за гласуване в MongoDB

  5. Как да получа датата на създаване на колекция MongoDB с помощта на драйвер на MongoDB C#?