MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Node.js menampilkan gambar dari GridFS Mongo

pastikan Anda menggunakan driver 1.0.1 dan gunakan pipa permintaan http untuk mengalirkan data, contoh di bawah ini melakukannya ke file. Di 1.1 itu akan menjadi lebih baik karena objek gridstore akan menjadi objek yang kompatibel dengan aliran baca/tulis :)

/**
 * A simple example showing how to pipe a file stream through from gridfs to a file
 *
 * @_class gridstore
 * @_function stream
 * @ignore
 */
exports.shouldCorrectlyPipeAGridFsToAfile = function(test) {
  var db = new Db('integration_tests', new Server("127.0.0.1", 27017, 
   {auto_reconnect: false, poolSize: 1, ssl:useSSL}), {native_parser: native_parser});

  // Establish connection to db  
  db.open(function(err, db) {
    // Open a file for writing
    var gridStoreWrite = new GridStore(db, "test_gs_read_stream_pipe", "w", {chunkSize:1024});
    gridStoreWrite.writeFile("./test/gridstore/test_gs_weird_bug.png", function(err, result) {      
      // Open the gridStore for reading and pipe to a file
      var gridStore = new GridStore(db, "test_gs_read_stream_pipe", "r");
      gridStore.open(function(err, gridStore) {
        // Grab the read stream
        var stream = gridStore.stream(true);
        // When the stream is finished close the database
        stream.on("end", function(err) {          
          // Read the original content
          var originalData = fs.readFileSync("./test/gridstore/test_gs_weird_bug.png");
          // Ensure we are doing writing before attempting to open the file
          fs.readFile("./test_gs_weird_bug_streamed.tmp", function(err, streamedData) {
            // Compare the data
            test.deepEqual(originalData, streamedData);

            // Close the database
            db.close();
            test.done();          
          });
        })

        // Create a file write stream
        var fileStream = fs.createWriteStream("./test_gs_weird_bug_streamed.tmp");
        // Pipe out the data
        stream.pipe(fileStream);
      })
    })
  });
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb mengonversi banyak objek menjadi array, di tempat, secara permanen

  2. Cara menetapkan batas ukuran array dalam skema Mongoose

  3. masalah mongorestore :Tidak dapat memulihkan pengguna dengan skema versi 1 ke sistem dengan server versi 2.5.4 atau lebih tinggi

  4. instal mongodb - persyaratan?

  5. Bagaimana cara menggunakan findAndModify dengan driver Node.js MongoDB?